آموزش نوع داده ها(Data Types) در ++C
وقتی که داریم در هر زبانی، برنامه نویسی می کنیم، نیاز داریم از متغیرهای مختلف برای ذخیره ی اطلاعات مختلف استفاده کنیم. متغیرها، چیزی جز موقعیت های رزرو شده ی حافظه برای ذخیره ی مقادیر نیستند. این یعنی وقتی که ما یک متغیر ایجاد کنیم، در حقیقت مقداری از فضا را در حافظه رزرو کرده ایم.
ما می توانیم برای هر متغیری یک نوع داده ی(data type) مختلف مانند character یا integer یا floating point یا double floating point یا boolean یا غیره تعریف کنیم. بسته به نوع داده ی یک متغیر، سیستم عامل، حافظه را برای آن اختصاص می دهد و تصمیم می گیرد که چه چیزی باید در این حافظه ی رزرو شده ذخیره شود.
نوع داده های ابتدایی(Primitive) در ++C
سی پلاس پلاس، یک مجموعه غنی از نوع داده های داخلی(built-in) را علاوه بر نوع داده های تعریف شده توسط کاربر ارائه می دهد. در جدول زیر، هفت نوع داده ی ابتدایی ++C گردآوری شده است:
| کلمه ی کلیدی | نوع داده |
|---|---|
| bool | بولین |
| char | کاراکتر |
| int | عدد صحیح |
| float | ممیز شناور(نقطه شناور) |
| double | ممیز شناور دابل(double) |
| void | بدون مقدار(Valueless) |
| wchar_t | کاراکتر وسیع(wide) |
تعدادی از نوع داده های ابتدایی، را می توانیم با استفاده از یک یا چند اصلاحگر زیر اصلاح کنیم:
- signed
- unsigned
- short
- long
جدول زیر نوع متغیرها و مقدار حافظه ای که اشغال می کنند تا مقداری را در حافظه ذخیره کند، و ماکزیمم و مینیمم مقداری که می تواند در این نوع متغیر قرار گیرد، را نشان می دهد:
| نوع | عرض بیت (Bit Width) | محدوده |
|---|---|---|
| char | 1byte | -127 to 127 or 0 to 255 |
| unsigned char | 1byte | 0 to 255 |
| signed char | 1byte | -127 to 127 |
| int | 4bytes | -2147483648 to 2147483647 |
| unsigned int | 4bytes | 0 to 4294967295 |
| signed int | 4bytes | -2147483648 to 2147483647 |
| short int | 2bytes | -32768 to 32767 |
| unsigned short int | 2bytes | 0 to 65,535 |
| signed short int | 2bytes | -32768 to 32767 |
| long int | 8bytes | -9223372036854775808 to 9223372036854775807 |
| signed long int | 8bytes | same as long int |
| unsigned long int | 8bytes | 0 to 18446744073709551615 |
| long long int | 8bytes | -(2^63) to (2^63)-1 |
| unsigned long long int | 8bytes | 0 to 18,446,744,073,709,551,615 |
| float | 4bytes | |
| double | 8bytes | |
| long double | 12bytes | |
| wchar_t | 2 یا 4 بایت | 1 wide character |
سایز متغیرها، ممکن است بسته به کامپایلر و رایانه ای که از آن استفاده می کنیم، با آنچه در جدول بالا نشان داده شده است، متفاوت باشد.
مثال
در زیر یک مثال قرار دارد که سایز نوع داده های مختلف را در رایانه ی شما تولید می کند:
#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 استفاده شده است؛ که باعث می شود یک کاراکتر خط جدید(new-line) پس از هر خط اضافه شود؛ و از دستور cout به همراه عملگر >> برای پاس دادن مقادیر در صفحه ی نمایش استفاده می شود. ما همچنین از عملگر sizeof() برای دریافت سایزِ نوع داده های مختلف، استفاده می کنیم. وقتی که کد بالا کامپایل و اجرا شود، نتیجه ی زیر را تولید می کند؛ که بسته به دستگاه شما می تواند مختلف باشد:
Size of char : 1
Size of int : 4
Size of short int : 2
Size of long int : 8
Size of float : 4
Size of double : 8
Size of wchar_t : 4
منابع:
https://www.tutorialspoint.com/cplusplus
- بازدید: 133
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.