خوراک پی سی کدنویس

ورود کاربران

آمار سایت

اعضا : 551
محتوا : 76
پیوندها : 6
بازدیدهای محتوا : 334429

حاضرین در سایت

 69 مهمان حاضر

برای نمایش بهتر سایت، از مرورگر استاندارد فایرفاکس استفاده کنید! مرورگر اینترنت اکسپلورر متعلق به دهه گذشته است!

firefox icon

Valid XHTML 1.0 Transitional Valid CSS!

انواع داده ها در C++

10 امتیاز

انواع داده­ ها

در مقاله قبل دیدیم که عدد صحیح را می­توان با استفاده از int تعریف کرد. در C++ انواع مختلف داده ­های داخلی وجود دارد که به شرح جدول زیرند:

نوع داده

محتوی

char
signed char

غالبا برای نمایش حروف و علائم اسکی به کار می­رود. قادر است مقادیر بین 128- تا 127+ را در خود ذخیره کند.

unsigned char

byte

همانند char با این تفاوت که مقادیر منفی را اختیار نمی کند و برای ذخیره سازی اعداد بین 0 و 255 مناسب است.

bool

دو مقدار true و false را می تواند داشته باشد.

short
short int
signed short

برای ذخیره سازی اعداد کوچک استفاده می شود. غالبا اندازه ای بین char و int دارد.

unsigned short

نسخه بدون علامت نوع داده short

int

برای ذخیره سازی اعداد صحیح بزرگ استفاده می شود. معمولا بزرگتر از short و کوچکتر یا مساوی long است.

__intn

این نوع داده که خاص میکروسافت است برای مشخص کردن تعداد دقیق بیتهای مورد استفاده است. مثلا __int32 یعنی نوع داده صحیح با 32 بیت (4 بایت) ظرفیت.

long
signed 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)

 

  • ناشناس
    avatar
    اگر مي توانيد چند برنامه كه به صورت رشته نوشته ميشود را بگوييدو از مقدماتي شروع كنيد :(
  • ناشناس
    avatar
    من نميتوانم هيچ برنامه ايرا بنويسم به خدا از مقدماتي كمكم كنيد :(
  • ناشناس  - ++c
    avatar
    http://www.tcpip.mihanblog.com/


    تمرین های حل شده ++c
  • سجاد  - یه سوال
    avatar
    سلام استاد
    اگه میشه توضیحاتی در مورد امواج اولتراسونیک بدین و این که چه جوری فاصله را تشخیص میده ممنون.
  • اوا  - komak
    avatar
    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
  • فاطمه  - تشكر
    avatar
    :D سلام مرسي خيلي خوب بود
  • متین  - ویژوال استودیو
    avatar
    اگه میشه یه برنامه آموزش بدین که با ویژوال استودیو باشه وسورس کدش با c++ .من توی سورس کد کلیک راست موس موشکل دارو.می خوام وقتی کلیک راس می کنم نوشته ای که در یک tex boxوارد کردم کنار موس نشون داده بشه.
  • گیسو  - *
    avatar
    اگر قبل از نام متغیر * باشه معنیش چیه؟ یعنی متغیر ماتریسیه؟؟؟ مثلا اینجوری:
    (void mainloop(double *nodes
  • مدیر سایت
    avatar
    این اشاره گره. همین عنوان را در سایت جستجو کنید.
  • ناشناس
    avatar
    long long dubleچه موقع کاربرد دارد؟
    چرا برنامه ی من از این عبارت خطا میگیره؟
  • مدیر سایت  - long long double
    avatar
    این عبارت دیگر کاربرد ندارد. در زمانهای دور! که دقت متغیر double کم بود از long double استفاده می شد. لیکن الان double یک متغیر 8 بایتی است و دقت بیش از این هم نداریم لذا long double همان double است و long long double هم معنایی ندارد.
اظهار نظر
مشخصات شما:
گراواتار enabled
نظر:
[b] [i] [u] [url] [quote] [code] [img]   
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch::(:shock:
:X:side::):P:unsure::woohoo::huh::whistle:;):s:!::?::idea::arrow:
امنیت
کد آنتی اسپم نمایش داده شده در عکس را وارد کنید.