یک متغیر نام بخشی از حافظه است که برنامهی میتواند اطلاعات آن را دستکاری کند. هر متغیر در#C یک نوع مشخص دارد که اندازه و طرحبندی حافظه متغیر، محدوده مقداری که میتواند در آن حافظه ذخیره کند و مجموعه عملیاتی که میتوان به متغیر اعمال کرد را تعیین میکند.
نوع مقداری پایه ارائه شده در #C میتواند به شکل زیر طبقه بندی شوند.
#C همچنین اجازه تعریف متغیرهای نوع مقداری دیگر مانند enum و متغیرهای نوع ارجاعی مانند class را می دهد که در فصل های بعدی توضیح خواهیم داد.
تعریف متغیر
قاعده تعریف متغیر در #C به شرح زیر است:
در اینجا، (data_type) باید یک نوع داده معتبر در #C مثل char, int, float, double و یا هر دیتا تایپ تعیین شده توسط کاربر باشد و (variable_list) می تواند از یک یا چند نام شناسه جدا شده توسط کاما (,) تشکیل شود.
چند تعریف متغیر معتبر در اینجا نشان داده شده است.
شما می توانید مقداردهی متغیر را در زمان تعریف به این شکل انجام دهید:
مقداردهی متغیرها
مقداردهی (اختصاص دادن مقدار) متغیرها با یک علامت مساوی و بعد از آن یک عبارت ثابت انجام می شود.
شکل عمومی مقداردهی به شرح زیر است:
متغیرها می توانند در زمان تعریف خود، مقداردهی شوند. مقدار دهنده شامل یک علامت مساوی و پس از آن عبارت ثابت هستند؛ مانند عکس زیر:
در زیر چند نمونه آمده است:
این یک روش برنامه نویسی خوب برای مقداردهی مناسب متغیرها می باشد، در غیر این صورت بعضی مواقع برنامه ممکن است نتیجه غیر منتظره ای را ایجاد کند.
در مثال زیر از انواع مختلف متغیرها استفاده شده است:
وقتی کد بالا کامپایل و اجرا می شود، نتیجه زیر را به دست می آورد.
پذیرش مقدار از کاربر
کلاس Console در فضای نام System، برای پذیرش ورودی از کاربر و ذخیره آن در متغیر، تابع () Console.ReadLine را ارائه می دهد.
برای مثال:
تابع () Convert.ToInt32، اطلاعات وارد شده توسط کاربر را به دیتا تایپ int تبدیل می کند، زیرا () Console.ReadLine اطلاعات را با فرمت رشته ای قبول می کند.
عبارات Lvalue و Rvalue در #C
دو نوع عبارت در #C وجود دارد:
- Lvalue: عبارتی که یک Lvalue است می تواند در سمت چپ یا راست یک assignment ظاهر شود.
- Rvalue: عبارتی که یک Rvalue است می تواند در سمت راست یک assignment ظاهر شود، اما نمی تواند در سمت چپ آن ظاهر شود.
متغیرها lvalue هستند، از این رو می توانند در سمت چپ یک assignment = ظاهر شوند. لیترال عددی rvalue هستند از این رو نمی توانند در سمت چپ ظاهر شوند. در ادامه یک دستور معتبر در #C آمده است.
اما دستور زیر معتبر نیست و خطای compile-time را به همراه دارد.