کاراکتر Character
کاراکتر یا Character چیست؟
کاراکتر (Character) در علوم رایانه به واحدی از اطلاعات گفته میشود که متناظر با یکی از عناصر موجود در سیستمهای نوشتاری نظیر حروف الفبا، ارقام، علائم و … میباشد. بنابر این با چنین تعریفی نقطه “.”، علامت تعجب “!”، خط تیره “-“، فاصله ” ” نیز Character محسوب میشوند.
برای توصیف کاراکترها در سیستمهای رایانهای از کاراکتر انکودینگ (کدگذاری کاراکتر یا character encoding) استفاده میشود که در آن به هر Character کدی اختصاص داده میشود (این مقادیر را کد پوینت یا Code Point مینامند). به این ترتیب امکان ذخیرهسازی و همچنین ارسال کاراکترها از طریق شبکههای رایانهای فراهم میشود. از رایجترین کاراکتر انکودینگها میتوان به ASCII و UTF-8 اشاره نمود.
نوع داده Character در زبانهای برنامه نویسی
در بسیاری از زبانهای برنامه نویسی نیز نوع دادهای به نام Character (با کلمهی کلیدی Char) مشاهده میشود. متغیرهای تعریف شده از این نوع داده برای نگهداری یک Character مورد استفاده قرار میگیرند و در برخی زبانها نظیر C تنها یک بایت (8 بیت) فضا اشغال میکنند و صرفا قادر به نگهداری مجموعه کاراکترهای اجرایی اصلی میباشند. در برخی زبانهای مدرن نظیر C# و Visual Basic نیز این نوع داده میتواند کاراکترهای Unicode را شامل شود.
پیوندهای پیشنهادی تک دیک
سلام وقت بخیر میشه یه توضیح بفرمایین که به صورت کلی در زبان سی پلاس پلاس کاراکتر به چی میگن و وقتی میگن یک کاراکتر رو از ورودی بگیر و کد اسکی اون رو نمایش بده یعنی چی؟
سلام وقت شما هم بخیر. کاراکتر که مفهومش داخل متن گفته شد. منظورشون اینه که یک حرف یا نماد و … رو از ورودی بگیره. ASCII هم نوعی کاراکتر انکدینگ هست که توضیحش مفصله سرچ بفرمایید می تونید مطالب مناسب و شیوه نمایش کد اسکی کاراکترها رو پیدا کنید.
سلام. ممنون از مطالب خوبتون. یه سوال داشتم. الان اگه تابع getchar هم کاراکتر ها رو میگیره و کاراکتر شامل ارقامه هم میشه, پس فرقش با scanf چیه؟ یعنی میتونیم هرجا به جای این تابع از getchar استفاده کنیم؟
سلام؛ ممنون از لطفتون. در مورد سوالتون پیرامون توابع getchar و scanf در زبان سی باید خدمتتون عرض کنم این دو تابع کاربردهای یکسانی ندارند. به طور خلاصه تابع getchar صرفا “یک” کاراکتر از ورودی میگیره درحالیکه scanf روشی برای دریافت ورودی به صورت فرمت شده براتون فراهم میکنه.
ممنون. در ضمن شما مقاله ای هم در مورد initialization دارید؟ نمیتونم درک کنم چرا ما باید initialize کنیم.
خیر. متأسفانه در حال حاضر برای مفهوم Initialization (یا مقداردهی اولیه) داخل سایت چیزی منتشر نشده. طبیعتا همونطور که از اسم این اصطلاح مشخصه (یکی از کاربردهاش که احتمالا مدنظر شماست) تعیین مقدار ابتدایی متغیرهاست. با جستجو می تونید آموزش های مناسبی پیدا کنید که کامل این موضوع رو توضیح دادن.