Variables in C/C++

Share
Variables in C/C++

سری Doc for Ducks: متغیرها در C/C++

سری Doc for Ducks: متغیرها در C/C++

۲۳ مارس ۲۰۲۶

سلام به همگی. این سری داکیومنت‌ها قراره برای برنامه‌نویس‌های تازه‌کار (با ارفاق علاقه‌مند به برنامه‌نویسی حساب میشن ولی خب برنامه‌نویس صدا میکنیم که ذوق کنن) نوشته بشه و ایده کلیش اینه که سعی کنه پایه‌های برنامه‌نویسی رو ساده و قابل فهم بیان کنه.

این سری داکیومنت برای C/C++ نوشته میشه و اینکه امیدوارم که خوش بگذره بهتون و از یادگیری لذت ببرید.

قبل از شروع بگم که هر جای متن میگم C منظورم C و C++ هست.

شاید اگر رندوم دست یکی از گربه‌های توی خیابون رو بگیرید و ازش بپرسید اولین پایه برنامه‌نویسی چیه، بهتون بگه میوتغیر (متغیر / variable) و ما هم با متغیرها شروع میکنیم.

متغیر چیست؟

فک کنید شما یه آشپزید. در اصل متغیرها نقش ظرف‌های یه آشپز رو دارن که مواد رو داخلش نگه میدارن و اینجا مواد شما یه سری دیتا هستن، مثل یه سری عدد یا حتی یه سری متن.

پس در نهایت متغیرها یه سری ظروف هستن که یه سری مقدار که هنوز دقیق نمیدونیم چیا هستن رو توی خودشون نگه میدارن.

برای یه آشپز خیلی مهمه که پلوش رو توی لیوان و ماستش رو توی پلوخوری نریزه و برای ما هم مهمه که نوع متغیری که انتخاب میکنیم برای دیتایی باشه که داخلش میریزیم.

داخل زبان C پنج نوع متغیر اصلی داریم که موقع ساختن متغیرها باید حواسمون باشه نوع متغیر ما مناسب دیتامون باشه:

  • integer (عدد صحیح) — مثل ۰ ، ۱ و -۸
  • float (عدد اعشاری) — مثل ۳.۱۳
  • double (عدد اعشاری بزرگ) — مثل 3.123613321586191
  • boolean (۰ یا ۱) — true یا false
  • character (کاراکتر) — a, b, c, y

اگر از دنیایی میاید که با binary آشنا نیستید احتمالا سر boolean گیج شدید.

ولی بزارید اینجوری بگم که مثلا میخواید جواب اینکه چراغ روشن هست یا نه رو توی یه متغیر نگه دارید؛ ۰ یعنی خاموش و ۱ یعنی روشن.

شاید با خودتون بگید که چرا برای همچین کاری از integerها استفاده نمیکنم؟

به همون دلیلی که یه کاسه ماستو توی یه سوپخوری نمیریزیم، چون فضای زیاد الکی رو اشغال میکنه (شستنش سخته).

بریم سراغ مثال راجب تایپ‌ها (نوع‌ها).

فک کنید من میخوام عدد ۸.۱۸ رو توی یه متغیر نگه دارم، تایپ متغیر باید چی باشه؟

درسته، float.

یا 'a' چی؟

character

و 55 چی؟

integer

برای ادامه مسیر که بتونیم بهتر متوجه بشیم، فک کنید به جای یه آشپز معمولی، یه آشپز خیلی خفن توی یه رستوران خیلی شلوغید و همه ظرف‌ها شماره دارن، مثلا ظرف qa16.

(میدونم شماره ندارن فقط تصور کنید)

چرا شماره دارن؟

برای اینکه تعداد ظرفا زیاده و برای اینکه بتونن به بقیه بگن منظورشون کدوم ظرفه، از روی شماره صداش بزنن.

این داستان رو ما داخل متغیرها هم داریم. بهشون یه اسمی میدیم که وقتی کارشون داشتیم از اون اسم صداشون کنیم.

پس تا الان چی شد؟

متغیرهای ما:

  • یه نوع دارن
  • یه اسم دارن
  • یه مقدار دارن

الان وقت اینه که بگیم توی C چجوری از متغیرها استفاده میکنیم.

نوع اسم = مقدار;

یا:

type name = value;

(سمی‌کالن آخر همه خط‌ها باید باشه تا کامپایلر بفهمه خط تموم شده)

یه داستان دیگه هم هست.

برنامه‌نویس‌ها خیلی خسته‌ان.

معمولا سر همین چیزها رو خیلی مخفف میکنن:

  • integer → int
  • boolean → bool
  • character → char

(بقیه رو کامل صدا میکنیم)

حالا بریم چند تا متغیر واقعی ببینیم:

int a = 3;
float b = 4.01;

یا اینکه میتونیم فعلا مقدار ندیم:

int a;

و بعدا هر وقت خواستیم مقدار بدیم:

a = 12;

موقع مقدار دادن نباید تایپش رو دوباره بنویسیم.

تا اینجا تقریبا همه چیزهای مهم راجب متغیرها رو یاد گرفتیم.

یه موضوع مهم دیگه هم هست؛ فقط شما نمیتونید هر اسمی روی متغیرها بذارید.

باید یه سری قوانین رو رعایت کنید:

  1. یه سری اسم‌های خاص از قبل رزرو شدن مثل:
    if, int, float, return, ...
  2. اسم نباید با عدد شروع بشه.
  3. بجز _ هیچ کاراکتر خاص دیگه‌ای مجاز نیست.

اگر این قوانین رو رعایت نکنید، کامپایلر بهتون ارور میده.

یه قانون دیگه هم هست که اگر رعایتش نکنید ارور نمیگیرید، ولی بین برنامه‌نویس‌ها یه قانونه:

  1. اسم متغیر رو با حرف بزرگ شروع نکنید.

احتمالا الان با خودتون میگید که اینارو یادم نمیمونه.

نگران نباشید، کم‌کم عادت میکنید.

بریم چند تا مثال از درست‌ها و غلط‌ها ببینیم.

درست‌ها

int age = 40;
char grade = 'A';
bool status = true;

کاراکتری که میخوایم نگه داریم باید بین ' ' باشه.

غلط‌ها

int 1age = 12;
bool st@tus = true;
double Rate = 30.12345;

یه موضوع دیگه اینه که ظرف‌های آشپز حجم نامحدود ندارن.

این موضوع راجب متغیرهای ما هم صادقه.

نیاز نیست فعلا درگیر بشید که حجم هر کدوم چقدره، ولی بدونید که محدوده.

و اینکه به اسم فارسی متغیر دقت کنید.

بهش میگیم متغیر چون هر جایی از کد که دلمون خواست میتونیم مقدارش رو تغییر بدیم.

مثلا:

int a;

و خط صد:

a = 15;

و چند خط بعد:

a = 18;

و در نهایت ادامه داستان با شماست که تمرین کنید.

جمع‌بندی

متغیرها ظرف‌هایی هستن که دیتاهای ما رو توی خودشون نگه میدارن.

پنج نوع اصلی که یاد گرفتیم:

  • integer
  • float
  • double
  • boolean
  • character

ساختار استفاده ازشون:

type name = value;

یا:

type name;

و بعدا:

name = value;

و چند تا نکته نهایی:

سعی نکنید این داکیومنت رو مثل کتاب داستان بخونید.

هر بخشی که میخونید رو درک کنید، بعد برید بخش بعدی.

اگر شما دارید اینو میخونید، با احتمال خیلی زیاد کسی رو میشناسید که این مطلب به دردش بخوره.

پس خسیس نباشید 😄

mateo