حجم حافظه (Memory Size)
هر نوع داده در C، «حجم حافظه (Memory Size)» متفاوتی می گیرد. با عملگر sizeof می توانیم اندازه نوع یا متغیر را بر حسب بایت ببینیم. این کار، در برنامه های بزرگ مهم است؛ چون به بهینه سازی حافظه کمک می کند.
گرفتن اندازه حافظه با sizeof
برای چاپ نتیجه sizeof از %zu استفاده کن. چون نوع خروجی آن «سایز-تی (size_t)» است؛ یعنی یک عدد صحیحِ بدون علامت.
int myInt;
float myFloat;
double myDouble;
char myChar;
printf("%zu\n", sizeof(myInt));
printf("%zu\n", sizeof(myFloat));
printf("%zu\n", sizeof(myDouble));
printf("%zu\n", sizeof(myChar));
حجم حافظه انواع پایه
اندازه ها وابسته به سیستم هستند، اما معمولاً این گونه اند: char یک بایت؛ float چهار بایت؛ double هشت بایت؛ و int دو یا چهار بایت.
نکته: مقدار sizeof به معماری وابسته است. همیشه نتیجه را با کد بسنج.
سه گام عملی
- نوع موردنیاز را انتخاب کن؛ مثلاً
charیاdouble. - با
sizeof(type)یاsizeof(var)اندازه را بگیر. - با
printf("%zu", ...)خروجی را امن چاپ کن.
جمع بندی سریع
sizeofاندازه نوع یا متغیر را می دهد.- برای چاپ، از
%zuاستفاده کن. size_tعدد صحیحِ بدون علامت است.- حجم حافظه به معماری وابسته است.
مطالب مرتبط: انواع داده، اعداد در C، و دقت اعشاری. برای انتخاب نوع بهتر و صرفه جویی حافظه، بخش «حجم حافظه» را معیار قرار بده.