准備校招筆試的時候經常遇到C++某個數據類型占據多少個字節的問題,查閱了下資料,總結如下:
首先羅列一下C++中的數據類型都有哪些:
1、整形:int、long
2、字符型:char、wchar_t
3、布爾型:bool
4、浮點型:float、double
5、指針
一、整形
int占據操作系統一個內存單元的大小。long跟int相同
早先16位操作系統一個內存單元是16位,所以是2個字節;32位系統一個內存單元是是32位,所以是4字節;64位操作系統一個內存單元是16位,故占8個字節。
二、字符型
char類型通常占據一個字節,對於用於擴展字符集的wchar_t類型,需要占據兩個字節。
三、布爾型
bool占據一個字節
四、浮點型
float占據4個字節,double是float的兩倍即8個字節
五、指針
指針字節長度計算原理其實跟int差不多,一個指針的位數和操作系統的位數是相等的,即32位系統應該是4個字節,64位系統應該是8個字節。
PS.代碼演示如下