c語言中一個int占幾個字節 c++int占幾個字節



文章插圖
c語言中一個int占幾個字節 c++int占幾個字節

文章插圖

sizeof關鍵字
C語言提供了sizeof關鍵字,可以用于獲取某個數據類型或者變量的字節容量大小 。例如char類型占據1個字節的容量,double類型變量占據8個字節的容量 。該關鍵字的使用格式如下:
sizeof(數據類型名);
sizeof(變量名);
程序測試代碼如下:
深入學習,可以交個朋友,工人人人號:韋凱峰linux編程學堂
程序運行結果如下:
【c語言中一個int占幾個字節 c++int占幾個字節】可以看到,sizeof(char)就返回了char類型定義變量時,所占據的內存字節數 。sizeof(a)就返回了變量a所占據的內存字節數 。
sizeof關鍵字可以獲取數組、結構體、指針等C語言合法的數據類型和變量的字節容量 。
sizeof關鍵字獲取數組容量
假設有如下定義的一維數組:
int array[8];
那么,這個 array[] 數組占據多少個字節容量?我們可以思考如下:
(1) array[] 數組有8個元素;
(2) 數組每個元素是int類型,由于int類型占據4個字節;所以,array[]數組就占用8 * 4 = 32個字節的空間 。
程序測試例子如下:
深入學習,可以交個朋友,工人人人號:韋凱峰linux編程學堂
程序運行結果如下:
可以看到,通過sizeof(array)獲取array數組的容量,就是獲取數組所占據的內存字節數 。
那么,我們可以通過sizeof關鍵字獲取數組所占據的內存字節數,如果知道數組元素的類型,就可以知道數組的長度 。計算過程如下:
(1) sizeof(數組元素類型); 獲取數組中一個元素所占據的字節數;假設為X;
(2) sizeof(數組); 獲取數組占據的字節數;假設為Y;
那么,數組的長度就是數組中元素的個數,假設為 num,就有 num = Y/X;程序測試代碼如下:
深入學習,可以交個朋友,工人人人號:韋凱峰linux編程學堂
程序運行結果如下:
可以看到,計算出了num變量就是array數組的長度 。就是所含元素的個數 。