تکنولوژی

انواع متغیر و داده در زبان C (تعریف متغیر در زبان C/C++)

متغیر نام محل حافظه است که برای ذخیره داده استفاده می شود. مقدار متغیر قابل تغییر است و می تواند بارها مورد استفاده قرار بگیرد. استفاده از متغیر باعث میشود بتوانیم مکانی از حافظه را به آسانی نشان بدهیم و مقدار آن را شناسایی کنیم.

انواع داده در زبان C

انواع داده، نوع داده ای را که یک متغیر می تواند ذخیره کند مثل عدد صحیح، کاراکتر و … را مشخص می کنند.

انواع داده در زبان C

دسته بندی انواع داده
داده های پایه int, char, float, double
داده های مشتق array, pointer, structure, union
داده شمارشی enum
داده خالی void

انواع داده های زیر به زبان C وجود دارد. در زبان C داده ها میتوانند به صورت با علامت (signed) یا بدون علامت (unsigned) باشند. اندازه حافظه انواع داده های اساسی ممکن است با توجه به سیستم عامل 32 یا 64 بیتی باشد. بیایید انواع داده های اساسی را ببینیم. اندازه آن با توجه به معماری 32 بیتی داده می شود. از جدول زیر میتوان برای انواع متغیر در زبان C استفاده کرد.

نوع داده اندازه حافضه محدوده
char 1 byte −128 تا 127
signed char 1 byte −128 تا 127
unsigned char 1 byte 0 تا 255
short 2 byte −32,768 تا 32,767
signed short 2 byte −32,768 تا 32,767
unsigned short 2 byte 0 تا 65,535
int 2 byte −32,768 تا 32,767
signed int 2 byte −32,768 تا 32,767
unsigned int 2 byte 0 تا 65,535
short int 2 byte −32,768 تا 32,767
signed short int 2 byte −32,768 تا 32,767
unsigned short int 2 byte 0 تا 65,535
long int 4 byte -2,147,483,648 تا 2,147,483,647
signed long int 4 byte -2,147,483,648 تا 2,147,483,647
unsigned long int 4 byte 0 تا 4,294,967,295
float 4 byte
double 8 byte
long double 10 byte

تعریف متغیر در زبان C

بیایید نحوه ایجاد متغیر در زبان C را بررسی کنیم. یک تعریف متغیر به کامپایلر می گوید که کجا و چه میزان حافظه برای متغیر ایجاد کند. تعریف متغیر نوع داده را مشخص می کند و شامل لیستی از یک یا چند متغیر است.

type variable_list;

در خط بالا، به جای type باید نوع داده و به جای variable_list باید لیست داده های مورد نیازمان را بنویسیم. میتوانید در هر خط یک داده تعریف کنید یا در هر خط چند متغیر از یک نوع تعریف کنید. همچنین برای تعریف متغیر از انواع مختلف باید در خط های جداگانه متغیر ها را ایجاد کنید.

type باید یک نوع داده معتبر در زبان C باشد مثل char ، w_char ، int ، float ، double ، bool یا … و variable_list ممکن است متشکل از یک یا چند نام باشد که با ویرگول از هم جدا شده اند. در زیر چند نمونه متغیر تعریف شده به شکل صحیح را قرار دادیم.

int    i, j, k; // تعریف 3 متغیر
char   c, ch; // تعریف 2 متغیر
float  f, salary; // تعریف 2 متغیر
double d; // تعریف یک متغیر

خط اول متغیر های i ، j و k را تعریف می کند. این یعنی به کامپایلر دستور می دهد متغیرهایی به نام i ، j و k از نوع int ایجاد کند. متغیرها را می توان در زمان تعریف مقدار دهی اولیه کرد (مقدار اولیه را اختصاص داد). مقداردهنده اولیه شامل یک علامت مساوی و به دنبال آن یک عبارت ثابت به شرح زیر است :

type variable_name = value;

به جای value باید مقدار اولیه را وارد کنید. به طور مثال :

extern int d = 3, f = 5;
int d = 3, f = 5;
byte z = 22;
char x = 'x';

اگر متغیر ها را مقدار دهی نکنید، متغیر ها به صورت NULL مقدار دهی میشوند یعنی همه بایت ها مقدار 0 را میگیرند.

مطلب پیشنهادی:  حل معادلات چند جمله ای با متلب

نمونه کد تعریف متغیر با زبان C

به کد زیر دقت کنید:

#include <stdio.h>

// تعریف متغیر ها
extern int a, b;
extern int c;
extern float f;

int main () {

   /* تعریف متغیر */
   int a, b;
   int c;
   float f;
 
   /* مقدار دهی متغیر ها */
   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;
}

وقتی کد بالا را کامپایل کنیم، نتیجه زیر را بدست می آوریم:

مقدار متغیر c : 30
مقدار متغیر f : 23.333334

lvalue و rvalue

در C دو نوع عبارت وجود دارد:

  • lvalue: عبارتی که به مکان حافظه اشاره می کند را “lvalue” میگویند. یک lvalue ممکن است سمت چپ یا راست یک دستور ظاهر شود.
  • rvalue – اصطلاح rvalue به مقدار داده ای گفته می شود که در برخی آدرس ها در حافظه ذخیره می شود. rvalue عبارتی است که نمی توانید مقداری به آن اختصاص دهید ، به این معنی که rvalue ممکن است در سمت راست نشان داده شود اما در سمت چپ نشان داده نشود.

متغیرها lvalues هستند و بنابراین ممکن است در سمت چپ یک دستور ظاهر شوند. حروف الفبا rvalues هستند و بنابراین ممکن است اختصاص داده نشوند و نمی توانند در سمت چپ ظاهر شوند. به گزاره های معتبر و نامعتبر زیر نگاهی بیندازید:

int g = 20; // معتبر

10 = 20; // نا معتبر - خطا
4.4 (5 نفر)

اگر در مورد این مطلب سوالی دارید در قسمت نظرات بپرسید

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید قرار بدهم. سوالات مربوط به این مطلب را در قسمت نظرات همین مطلب اعلام کنید. سعی میکنم در اسرع وقت به نظرات شما پاسخ بدهم.

برای ارسال تصاویر از انجمن سایت استفاده کنید.

سوالات فنی را در انجمن سایت مطرح کنید تا در مسابقه شرکت کنید. ورود به انجمن

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *