متغیرها، آرایه ها، رشته ها و مقدار دهی در زبان C

مقدمات و اصول و قوانین زبان سی C قسمت 1
21 بهمن, 1388
پروگرامر USBasb برای میکروکنترلرهای AVR نسخه 2011-05-28
پروگرامر USBasb برای میکروکنترلرهای AVR نسخه 2011-05-28
11 اسفند, 1388
مقدمات و اصول و قوانین زبان سی C قسمت 1
21 بهمن, 1388
پروگرامر USBasb برای میکروکنترلرهای AVR نسخه 2011-05-28
پروگرامر USBasb برای میکروکنترلرهای AVR نسخه 2011-05-28
11 اسفند, 1388

بازدیدها: 8

انواع داده ها (متغیر یا همون ثبات ها):
Type                            Size (Bits)                    Range
 
Bit                                1                                   0 , 1
char                             8                                  -128 to 127
unsigned char              8                                  0 to 255
signed char                  8                                  -128 to 127
int                                16                                -32768 to 32767
short int                       16                                 -32768 to 32767
unsigned int                 16                                0 to 65535
signed int                     16                                -32768 to 32767
long int                        32                                -2147483648 to 2147483647
unsigned long int         32                                0 to 4294967295
signed long int             32                                -2147483648 to 2147483647
float                             32                                ±1.175e-38 to ±3.402e38
double                         32                                ±1.175e-38 to ±3.402e38
 
برای تعریف یک متغیر ابتدا نوع داده (Type) و سپس نام متغیر را می نویسیم:
 متغیر ali از نوع bit بیت Bit ali; //
متغیر ali از نوع char و 8 بیتی است char ali; //
بعد از تعریف نام متغیر حتما علامت ; را باید قرار داد. برای مقدار دهی اولیه یک متغیر به دو صورت می تونم این کار رو انجام بدیم.

 
اول اینکه ابتدا کتغیر رو تعریف کنیم و بعد یه عددی رو به اون متغیر بدهیم:
Char   smgh;      Char   smgh;                  Char   smgh;
smgh=0x1E;      smgh=0b00011110;        smgh=30;
دوم اینکه در موقع تعریف یک متغیر همزمان به اون مقدار هم بدیم:
Char   smgh=0x1E;      Char   smgh=0b00011110;      Char   smgh=30;
در اینجا ما متغیر smgh را از نوع 8 بیتی معرفی کردیم و همزمان هم عدد 30 دسیمال را به 3 روش به اون اختصاص دادیم. اگر بخواهیم عدد در مبنای دسیمال به متغیر بدیم خوب چیزی جلوی اون نمی نویسیم و فقط عدد رو وارد می کنیم؛ اگر بخواهیم عدد رو در مبنای باینری وارد کنیم ابتدا باید 0b بنویسیم و بعد از b عدد باینری رو وارد کنیم؛ اگر بخواهیم عدد را در مبنای هگزا دسیمال وارد کنیم باید اول 0x رو بنوسیم و بعد اون عدد هگز رو قرار بدیم.
سوم  اینکه به صورت گروهی چند متغیر از یک نوع تعریف کنیم:
1 Char smgh,ali,a,b,mc;
2 Char smgh=3,ali=5,a=8,b=88,mc=4;
 
برای روش 1 باید اول نوع متغیر را بنویسیم مثلا char و بعد بین هر متغیر یک , بزاریم و در آخر هم علامت ; رو می گذاریم. که ما پنج متغیر از نوع 8 بیتی char تعریف کردیم.
و در روش 2 همزمان که متغیر ها رو تعریف می کنیم به هر متغیر عدد مورد نظر رو می دهیم.
آرایه ها:
آرایه ها مجوعه ای از متغیر های هم نوع هستند. و برای تعریف آرایه ابتدا نوع داده و بعد هم اسم آرایه و بعد تعداد عناصر آرایه را در داخل [] قرار می دهیم.
آرایه تک بعدی:
Char smgh[4];
اسم آرایه ما smgh هست و از نوع 8 بیتی char هستش که 4 عضو هم دارد. برای دسترسی به عضوهای این آرایه باید به صورت زیر عمل کنیم:
Smgh[0]=0x23;
Smgh[1]=0x56;
Smgh[2]=0x83;
Smgh[3]=0x18;
نکته: برای دسترسی به اولین عنصر یک آرایه باید عدد صفر رو قرار بدیم. یعنی اولین عضو ما 0 و 1 و 2 و3 هست..
برای روشن شدن مبحث آرایه می تونیم همین مثال رو به صورت زیر بنویسیم، با هم فرق میکنند ولی برای روشن شدن موضوع بد نیست:
Char smgh0=0x23,smgh1=0x56,smgh2=83,smgh3=0x18;
یه جورایی می تونیم مثال آرایه رو به مثال بالایی شبیه کنیم. در مثال آرایه smgh[4] یعنی 4 متغیر جداگانه و مجزا از نوع char داریم که تنها smgh در آنها مشترک هستش و برای دسترسی به عنصر 2 این آرایه باید عدد مورد نظر رو به صورت اندیس در [] قرار دهیم گفتیم که عنصر ها از صفر شروع میشن پس برای عنصر دوم یکی ازش کم می کنیم و میشه 1 که می نویسیم smgh[1] که منضور ما همون آرایه دومی هستش.
برای مقدار دهی هر عضو نمی تونیم به روشی قبلی استفاده کنیم چون اگر تعداد عناصر زیاد باشه خیلی باید دستور بنویسیم و احتمال اینکه اشتباه هم بکنیم زیاده هستش پس برای مقدار دهی عناصر یک آرایه به صورت زیر عمل می کنیم:
Char smgh[4]={0x23,0x56,0x83,0x18};
آرایه دو بعدی:
برای تعریف آرایه دو بعدی به صورت زیر عمل می کنیم:
; [تعداد عناصر ستون] [تعداد عناصر سطر] نام آرایه      نوع متغیرهای آرایه
مثلا آرایه 3×2 : (2 سطر و 3 ستون)
Char smgh[2][3];
مثال بالا رو مقدار دهی می کنیم:
Char smgh[2][3]={{2,4,7},{5,6,1}};
برای اینکه در نوشتن عناصر قاطی نکنید می تونید به صورت زیر عمل کنید:
 Char smgh[2][3]={
                {2,4,7},
    {5,6,1}
};
مثلا ما می خواهیم یک ماتریس 3×3 داشته ماشیم،همانطور که می دانیم این ماتریس دارای 9 درایه یا عنصر می باشد که برای تعریف اون در زبان سی به صورت زیر عمل می کنیم:
Char smgh[3][3]={
     {2,4,6},
     {3,5,8},
     {9,0,1}
};
نکته: اگر ندانیم که تعداد عناصر یک آریه چند تا است داخل [] را خالی می گذاریم.
رشته ها:
رشته ها آرایه ای از کاراکتر هاست.
Char smgh[]="MC8051.blogfa.com";
پایان قسمت دوم