آموزش C++ انواع داده ای

در هنگام نوشتن برنامه، با هر زبان برنامه نویسی که باشید، باید از متغیرهای مختلف برای ذخیره اطلاعات استفاده کنید. متغیرها در واقع مکان رزرو شده برای ذخیره مقادیر هستند. این بدان معنی است که وقتی یک متغیر ایجاد میکنید، مقداری از حافظه را رزرو می کنید. ممکن است بخواهید اطلاعاتی از انواع داده ها مثل نوع داده بولی (boolean)، نوع داده اعشار (floating point)، نوع داده اعشار با دقت مضاعف (double floating point)، نوع داده عدد صحیح (integer)، نوع داده کاراکتر (wide character) را ذخیره کنید. بر اساس نوع داده متغیر ، سیستم عامل قسمتی از حافظه را به آن اختصاص می دهد و تصمیم می گیرد که چه چیزی در حافظه ذخیره شود.

انواع داده اولیه ساخته شده در C++

++C  یک مجموعه کامل از انواع داده ای را ارائه می دهد. در جدول زیر 7 نوع داده ای اصلی در C++ را مشاهده می کنید.
 

نوع داده ای کلمه کلیدی
Boolean bool
Character char
Integer int
Floating point float
Double floating point double
Valueless void
Wide character wchar_t

توجه

بعضی از انواع داده های اصلی را می توان با استفاده از یک یا چند اصلاح کننده، اصلاح کرد.
•    signed
•    unsigned
•    short
•    long

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

#include <iostream>
using namespace std;

int main() {
   cout << "Size of char : " << sizeof(char) << endl;
   cout << "Size of int : " << sizeof(int) << endl;
   cout << "Size of short int : " << sizeof(short int) << endl;
   cout << "Size of long int : " << sizeof(long int) << endl;
   cout << "Size of float : " << sizeof(float) << endl;
   cout << "Size of double : " << sizeof(double) << endl;
   cout << "Size of wchar_t : " << sizeof(wchar_t) << endl;
   
   return 0;
}

در مثال بالا برای شروع خط جدید از endl در انتهای خروجی استفاده  شده است. endl باعث خالی شدن بافر C++ می شود. همچنین از عملگر <<  برای انتقال مقادیر به صفحه نمایش استفاده شده است و نیز با استفاده از تابع sizeof() برای گرفتن اندازه انواع داده های مختلف استفاده می کنیم.
پس از کامپایل و اجرای کد بالا نتیجه زیر نمایش داده خواهد شد که میتواند در هر کامپیوتری متفاوت باشد.

Size of char : 1
Size of int : 4
Size of short int : 2
Size of long int : 4
Size of float : 4
Size of double : 8
Size of wchar_t : 4

معرفی اعلان Typedef

می توانید با استفاده از اعلان typedef یک نام برای نوع داده ای مورد نظر خود انتخاب کنید. در زیر مثال ساده از نحوه تعریف یک نوع داده ای جدید با استفاده از اعلان typedef ارائه شده است.
 

typedef type newname; 

در مثال زیر به کامپایلر می گوییم که feet نام جدیدی برای نوع داده ای int است.
 

typedef int feet;


حال با نام جدید feet که برای نوع داده ای int ایجاد کرده اید می توانید یک متغیر جدید به نام distance ایجاد کرده و مقدار دهی کنید.
 

feet distance = 12;

انواع داده های شمارشی یا enum

برای تعریف مقادیر قابل شمارش از انواع داده ای شمارشی یا enum استفاده می شود. enum یک نوع داده ای است که توسط کاربر و با یک نام اختیاری تعریف می شود. هر نوع داده ای enum از تعدادی شمارنده یا enumerator تشکیل می شود. 

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

enum enum-name { list of names } var-list; 

در بالا enum-name نام نوع شمارنده (نام کل مجموعه) است و در قسمت list of names میتونادی چندین نام را که با کاما از هم جدا شده اند تعریف کنید.

برای مثال کد زیر یک شمارنده برای چند نوع رنگ را تعریف میکند که colors نامیده میشود و متغیر c  برای نوع colors در نظر گرفته شده است. و در نهایت c برابر blue قرار داده شده است.
 

enum color { red, green, blue } c;
c = blue;

به طور پیش فرض مقدار نام اول یعنی red برابر با 0، نام دوم برابر با 1، نام سوم برابر با 2 است و این روند به همین ترتیب ادامه خواهد داشت. اما با اضافه کردن یک آغازگر میتوانید نام و مقدار اولیه دلخواه را  به آن بدهید. برای مثال در مثال زیر green مقدار ۵ را دارد.
 

enum color { red, green = 5, blue };

در اینجا blue مقدار 6 را خواهد داشت زیرا هر کدام باید بزرگتر از مورد قبلی خود باشند.

برای درج نظر و یا طرح سوالات خود لطفا در سایت ثبت نام کنید و یا وارد سایت شوید

نظرات کاربران

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