با سلام خدمت تمامی دوستان عزیز سایت پی وی لرن .و کاربرانی که دوره کامل آموزش زبان C را دنبال می کنند. در این مجموعه آموزشها قصد داریم آموزش برنامه نویسی به زبان C رو تقدیم حضورتون کنیم.با ادامه سری آموزشهای زبان سی به انواع متغیرها در C و اعلان متغیر در C کامپایل و اجرای برنامه می پردازیم .
متغیرها در C چیزی جز یک نام داده شده به یک منطقه ذخیره سازی از حافظه نیست .داده ها در آنها قرار میگیرند و محتویات آنها ممکن است در طول اجرای برنامه تغییر کند. متغیرها در C انوع خاصی دارند که اندازه و طرح حافظه را تعیین می کنند؛ پس مقدار محدوده ای است که می تواند در حافظه ذخیره شود و مجموعه ای از عملیاتی که می تواند به متغیر اعمال شود.
نام یک متغیر می تواند از حروف، ارقام و کاراکترهای مشخص شده تشکیل شده باشد. و باید با یک حرف یا یک تاکید آغاز شود. حروف بزرگ و کوچک از هم جدا هستند زیرا C حساس به حروف است.متغیرها اندازه و دقت های مختلفی دارند و براین اساس و توضیحات داده شده در جلسات قبل، انواع متغیر اساسی زیر وجود دارد:
ردیف | نوع و شرح |
---|---|
۱ | char Typically a single octet(one byte). This is an integer type به طور معمول هشت بیتی (یک بایت) است واز نوع متغیرهای صحیح است. |
۲ | int طبیعی ترین اندازه عدد صحیح برای دستگاه و یک بایت است |
۳ | float ارزش دقیق ممیز شناور برای بسیاری از اعداد کسری کوچک float کافیست و ۴ بایت است. |
۴ | double دقت مقدار ممیز شناور ۸ بایت است. |
۵ | void مقداری را نشان نمی دهد. |
تعریف متغیر به کامپایلر می گوید کجا و چه مقدار ذخیره سازی برای ایجاد متغیر نیاز است. متغیر یک نوع داده را مشخص می کند.
1 | type variable_list; |
در اینجا باید یک نوع داده معتبر در C شامل char، w_char، int، float، double، bool یا هر چیز تعریف شده توسط کاربر باشد.
وهمچنین variable_list ممکن است از یک یا چند نام شناسایی شده که توسط کاما جدا می شود باشد.
برخی از اعلان های معتبر در اینجا نشان داده شده است.
1 2 3 4 | int i, j, k; char c, ch; float f, salary; double d; |
خط int i، j، k؛ اعلان و تعریف متغیرهای i، j و k؛ که دستور کامپایلر را برای ایجاد متغیرهایی با نام i، j و k از نوع int می باشد را ارائه می دهد.
متغیرها می توانند در اعلان خود مقدار دهی اولیه (اختصاص داده شده به مقدار اولیه)داشته باشند.
در ابتدا شامل یک علامت برابر است و پس از آن عبارت ثابت به صورت زیر است.
1 | type variable_name = value; |
برخی از نمونه ها
1 2 3 4 | extern int d = 3, f = 5; // declaration of d and f. int d = 3, f = 5; // definition and initializing d and f. byte z = 22; // definition and initializes z. char x = 'x'; // the variable x has the value 'x'. |
برای تعریف بدون مقداردهی اولیه: متغیرهایی با طول ذخیره سازی استاتیک به طور ضمنی با NULL (تمام بایت ها مقدار ۰ هستند) آغاز می شوند؛ مقدار اولیه تمام متغیرهای دیگر تعریف نشده است.
اعلان متغیر در C تضمین کامپایلر را فراهم می کند که یک متغیر با نوع و نام داده شده وجود دارد.
به طوری که کامپایلر می تواند برای کامپایل بیشتر بدون نیاز به جزئیات کامل در مورد متغیر ادامه دهد.
تعریف متغیر فقط در زمان تالیف معنا دارد.کامپایلر نیازمند تعریف متغیر حقیقی در زمان اتصال برنامه است.
اعلان متغیر در C زمانی مفید است که شما از چندین فایل استفاده می کنید و متغیر خود را در یکی از فایل هایی که در زمان اتصال برنامه در دسترس هستند تعریف می کنید. شما از کلمه کلیدی extern برای اعلان یک متغیر در هر مکان استفاده می کنید. اگر چه می توانید یک متغیر را چند بار در برنامه C خود اعلان کنید،ولی می توان آن را تنها یک بار در یک فایل، یک تابع یا یک بلوک از کد تعریف کرد.
مثال زیر را امتحان کنید، جایی که متغیرها در بالا اعلام شده اند، اما در داخل تابع اصلی ودر ابتدا تعریف شده اند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include <stdio.h> // Variable declaration: extern int a, b; extern int c; extern float f; int main () { /* variable definition: */ int a, b; int c; float f; /* actual initialization */ a = 10; b = 20; c = a + b; printf("value of c : %d \n", c); f = 70.0/3.0; printf("value of f : %f \n", f); return 0; } |
هنگامی که کد بالا کامپایل شده و اجرا می شود، نتیجه ی زیر را تولید می کند:
1 2 | value of c : 30 value of f : 23.333334 |
1 2 3 4 5 6 7 8 9 10 11 12 13 | // function declaration int func(); int main() { // function call int i = func(); } // function definition int func() { return 0; } |
دو نوع بیان در C وجود دارد
lvalue – عباراتی که به یک مکان حافظه مراجعه می کنند، عبارات “lvalue” نامیده می شوند. lvalue – ممکن است به عنوان سمت چپ یا راست یک انتساب ظاهر شود.
rvalue – اصطلاح rvalue اشاره به مقدار داده است که در برخی از آدرسها در حافظه ذخیره می شود.rvalue یک عبارتی است که نمیتواند یک مقدار به آن اختصاص داده شود که به معنی آن است که rvalue ممکن است در سمت راست انتساب ظاهر شود اما نه در سمت چپ.
1 2 3 | int g = 20; // valid statement 10 = 20; // invalid statement; would generate compile-time error |
خوشحالیم ازاینکه در این مجموعه آموزشها همراه ما هستید.امیدوارم از آموزش متغیرها در C واعلان متغیر در C استفاده کامل را برده باشید. در جلسه بعد ثابت ها و حروف در C را خواهیم داشت.
محمد مهدي
ممنونم بابت سايت خوب شما كه به ما دانشجويان راهي خوب براي يادگيري در زمينه رشته كامپيوتر را آسان كرد و منابع خوبي را براي مطالعه ما قرار داد
پيروز و سربلند باشيد…
پی وی لرن
سلام
ممنون لطف دارید