انواع داده ها در C++
آخرین به روز رسانی در پنجشنبه 02 مهر 1388 ساعت 22:47 نوشته شده توسط مدیر سایت پنجشنبه 02 مهر 1388 ساعت 17:02
انواع داده ها
در مقاله قبل دیدیم که عدد صحیح را میتوان با استفاده از int تعریف کرد. در C++ انواع مختلف داده های داخلی وجود دارد که به شرح جدول زیرند:
|
نوع داده |
محتوی |
|
char |
غالبا برای نمایش حروف و علائم اسکی به کار میرود. قادر است مقادیر بین 128- تا 127+ را در خود ذخیره کند. |
|
unsigned char byte |
همانند char با این تفاوت که مقادیر منفی را اختیار نمی کند و برای ذخیره سازی اعداد بین 0 و 255 مناسب است. |
|
bool |
دو مقدار true و false را می تواند داشته باشد. |
|
short |
برای ذخیره سازی اعداد کوچک استفاده می شود. غالبا اندازه ای بین char و int دارد. |
|
unsigned short |
نسخه بدون علامت نوع داده short |
|
int |
برای ذخیره سازی اعداد صحیح بزرگ استفاده می شود. معمولا بزرگتر از short و کوچکتر یا مساوی long است. |
|
__intn |
این نوع داده که خاص میکروسافت است برای مشخص کردن تعداد دقیق بیتهای مورد استفاده است. مثلا __int32 یعنی نوع داده صحیح با 32 بیت (4 بایت) ظرفیت. |
|
long |
برای ذخیره سازی اعداد صحیح بزرگ استفاده می شود. غالبا بزرگتر از int است. در ویژوال سی، با int تفاوتی ندارد و هر دو 4 بایت استفاده می کنند. |
|
unsigned long |
نسخه بدون علامت long |
|
long long signed long long |
بزرگتر از long |
|
unsigned long long |
نسخه بدون علامت long long |
|
float |
کوچکترین نوع داده اعشاری |
|
double |
نوع داده اعشاری بزرگتر از float |
|
long double |
همان double است! |
|
__wchar_t |
برای ذخیره سازی حروف به صورت یونیکد. برای مشخص نمودن حروف یونیکد قبل از آنها حرف L را استفاده می کنیم. |
در ادامه چند مثال از تعریف متغیرها و مقداردهی آنها را بیان می کنیم:
char Letter = 'a';
bool busy = true;
__wchar_t PersianChar = L'ی';
char c = -128;
float pi_number(3.1415);
unsigned long long population = 6000000000;
دقت کنید که در سطر سوم ما با استفاده از __wchar_t حرف «ی» فارسی را که یک حرف یونیکد است، معرفی کرده ایم. استفاده از حروف یونیکد در رابط کاربری برنامه سبب می شود که برنامه روی هر سیستم عاملی، حتی اگر زبان مورد نظر (مثلا فارسی) را نداشته باشد، به درستی نمایش داده شود. نکته ای که باید در نظر داشت این است که هنگامی که از حروف یونیکد استفاده میکنیم، باید متن برنامه را به فرمت Unicode یا utf8 ذخیره کنیم.
در مورد نامگذاری متغیرها چند نکته را باید در نظر داشت:
نام متغیرها باید تنها از حروف a تا z، کوچک یا بزرگ، ارقام 0 تا 9 و علامت زیرخط استفاده کرد.
نام متغیر نمی تواند با یک رقم شروع شود.
بهتر است نام متغیر بیانگر کارکرد آن باشد.
ظرفیت داده ها در Visual C++
کامپایلرهای مختلف ظرفیتهای متفاوتی برای انواع داده ها در نظر میگیرند. در جدول زیر ظرفیتهایی که در ویژوال سی لحاظ شده است را ملاحظه می کنید.
|
نوع داده |
ظرفیت |
|
bool |
1 بایت |
|
char, unsigned char, signed char |
1 بایت |
|
short, unsigned short, __wchar_t |
2 بایت |
|
int, unsigned int |
4 بایت |
|
__intn |
بسته به مقدار n، 8، 16، 32، 64 یا 128 بیت |
|
long, unsigned long |
4 بایت |
|
float |
4 بایت |
|
double |
8 بایت |
|
long double |
8 بایت |
|
long long |
8 بایت (مثل __int64) |
-
|*** 2010-05-23 ساعت 00:05:21 *** سجاد - یه سوال
سلام استاد
اگه میشه توضیحاتی در مورد امواج اولتراسونیک بدین و این که چه جوری فاصله را تشخیص میده ممنون.
-
|*** 2010-09-27 ساعت 11:59:24 *** اوا - komak
salam agha sepehr mihamad ma n komak mikham man ye jove amozeshe c++mikhasam shoma mitonid vasam joresh konid akhe man emtehoon daram nemidonam chra in ketebaye electoronici baghie sita baz nemisheeeeeeeeee plz help
-
|*** 2011-05-15 ساعت 23:38:34 *** متین - ویژوال استودیو
اگه میشه یه برنامه آموزش بدین که با ویژوال استودیو باشه وسورس کدش با c++ .من توی سورس کد کلیک راست موس موشکل دارو.می خوام وقتی کلیک راس می کنم نوشته ای که در یک tex boxوارد کردم کنار موس نشون داده بشه.
-
|*** 2011-06-08 ساعت 20:11:44 *** گیسو - *
اگر قبل از نام متغیر * باشه معنیش چیه؟ یعنی متغیر ماتریسیه؟؟؟ مثلا اینجوری:
(void mainloop(double *nodes

