C/C++基本数据类型所占字节数
關于這個主要的問題,非常早曾經就非常清楚了,C標準中并沒有詳細給出規定那個基本類型應該是多少字節數,并且這個也與機器、OS、編譯器有關,比方相同是在32bits的操作系統系,VC++的編譯器下int類型為占4個字節;而tuborC下則是2個字節。
所以int,long?int,short?int的寬度都可能隨編譯器而異。但有幾條鐵定的原則(ANSI/ISO制訂的):
-
sizeof(short?int)<=sizeof(int)
-
sizeof(int)<=sizeof(long?int)
-
short?int至少應為16位(2字節)
-
long?int至少應為32位。
以下給出不同位數編譯器下的基本數據類型所占的字節數:
16位編譯器
char?:1個字節
char*(即指針變量):?2個字節
short?int?:?2個字節
int:??2個字節
unsigned?int?:?2個字節
float:??4個字節
double:???8個字節
long:???4個字節
long?long:??8個字節
unsigned?long:??4個字節
32位編譯器
char?:1個字節
char*(即指針變量):?4個字節(32位的尋址空間是2^32,?即32個bit,也就是4個字節。同理64位編譯器)
short?int?:?2個字節
int:??4個字節
unsigned?int?:?4個字節
float:??4個字節
double:???8個字節
long:???4個字節
long?long:??8個字節
unsigned?long:??4個字節
64位編譯器
char*(即指針變量):?8個字節
short?int?:?2個字節
int:??4個字節
unsigned?int?:?4個字節
float:??4個字節
double:???8個字節
long:???8個字節
long?long:??8個字節
unsigned?long:??8個字節
總結
以上是生活随笔為你收集整理的C/C++基本数据类型所占字节数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PWA(Progressive Web
- 下一篇: unity3d大型互动照片墙