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

هنگام نوشتن برنامه به هر زبانی، باید از متغیرهای مختلفی برای ذخیره اطلاعات استفاده کنیم. متغیرها چیزی جز فضای رزرو شده در حافظه برای ذخیره مقادیر نیستند.بنابراین هنگامی که یک متغیر ایجاد می کنید فضایی از حافظه را رزرو خواهید کرد.

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

ممکن است بخواهید اطلاعاتی از نوع داده های مختلف مانند کارکتر، کارکتر پهن(wide character)، عدد صحیح، ممیز شناور، ممیز شناور مضاعف، بولی و … را ذخیره کنید. براساس نوع داده متغیر، سیستم عامل به آن فضا اختصاص داده و تصمیم می گیرد که چه چیزی می تواند در فضای رزرو شده ذخیره شود.

نوع داده های داخلی اصلی(Primitive Built-in Types)

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

نوع کلیدواژه
Boolean (بولی) bool
Character(کارکتر) char
Integer(عدد صحیح) int
Floating point(ممیزشناور) float
Double floating point(ممیز شناور مضاعف) double
هیچ(بدون مقدار) void
Wide character(کارکتر عریض) wchar_t

برخی از این نوع داده ها را می توان با استفاده از یک یا چند ویرایشگرنوع(type modifier) تغییر داد

  • signed
  • unsigned
  • short
  • long

جدول زیر نوع داده، فضایی که از حافظه اشغال می کند، و حداکثر مقداری که می تواند ذخیره کند را نشان می دهد.

مطلب پیشنهادی:  اورلود کردن عملگر دسترسی کلاس (->) در ++C
نوع فضای متوسط رنج متوسط
char 1بایت -127 to 127 or 0 to 255
unsigned char 1بایت 0 to 255
signed char 1بایت -127 to 127
int 4بایت -2147483648 to 2147483647
unsigned int 4بایت 0 to 4294967295
signed int 4بایت -2147483648 to 2147483647
short int 2بایت -32768 to 32767
unsigned short int 2بایت 0 to 65,535
signed short int 2بایت -32768 to 32767
long int 8بایت -2,147,483,648 to 2,147,483,647
signed long int 8بایت به اندازه long int
unsigned long int 8بایت 0 to 4,294,967,295
long long int 8بایت -(2^63) to (2^63)-1
unsigned long long int 8bytes 0 to 18,446,744,073,709,551,615
float 4بایت
double 8بایت
long double 12بایت
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) در انتهای هر خط اضافه می کند و عملگر << برای ارسال چند مقدار به صفحه خروجی استفاده می شود. همچنین در این مثال از عملوند ()sizeof استفاده شده که اندازه یک متغیر را برمی گرداند.

مطلب پیشنهادی:  انواع حلقه در ++C

وقتی کد فوق کامپایل و اجرا گردید، نتیجه زیر تولید خواهد شد. این نتیجه از یک ماشین به ماشین دیگر ممکن است متفاوت باشد.

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;

برای مثال، کد زیر به کامپایلر اعلام می کند که نام جدیدی برای int درنظر بگیرد

typedef int feet;

اکنون، قطعه کد زیر کاملاً صحیح بوده و یک متغیر صحیح به نام distance ایجاد می کند

feet distance;

نوع داده شمارشی(Enumerated Types)

نوع داده شمارشی، یک نام دلخواه و تعدادی شناسه دلخواه اعلان کرده که می توان از آنها به عنوان مقدار استفاده کرد. هر شماره یک مقدار ثابت بوده که نوع آن شمارشی(enumeration) است.

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

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

enum-name نام نوع داده شمارشی است. لیست نامها با کاما از هم جدا می شوند.

برای مثال، کد زیر ، یک نوع داده شمارشی به نام colors ایجاد می کند و متغیر c از آن نوع را اعلان می کند. در نهایت، به c مقدار “blue” اختصاص داده می شود.

enum color { red, green, blue } c;

c = blue;

به صورت پیش فرض، اولین نام مقدار 0 ، دومین نام مقدار 1، سومین نام مقدار 2 و به همین ترتیب ادامه خواهد یافت.اما می توان با اضافه کردن یک مقدار اولیه، یک مقدار مشخص به هر نام اختصاص داد.برای مثال، در نوع داده شمارشی زیر، green مقدار 5 خواهد داشت.

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

در اینجا، blue مقدار 6 خواهد داشت زیر مقدار هر نام، از مقدار نام قبلی به اضافه یک بدست خواهد آمد. خب الان که انواع داده در ++C بررسی کردیم در جلسه بعدی با ما همراه باشید تا انواع متغیر‌ها را در ++C بررسی کنیم.

مطلب پیشنهادی:  چندریختی یا Polymorphism در ++C

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

مطالعه دیگر جلسات این آموزش<< جلسه قبلی                    جلسه بعدی >>

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

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