在C語言中,double、long、unsigned、int、char類型數據所佔字節數
1.說明:
1.以防以後會用到。
2. 和機器字長及編譯器有關係:
所以,int,long int,short int的寬度都可能隨編譯器而異。
3. 但有幾條鐵定的原則(ANSI/ISO制訂的):
1.sizeof(short int)<=sizeof(int)
2.sizeof(int)<=sizeof(long int)
3.short int至少應爲16位(2字節)
4.long int至少應爲32位。
- 注:
unsigned 是無符號的意思。
2.解釋:
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 :1個字節 char*(即指針變量): 8個字節 short int : 2個字節 int: 4個字節 unsigned int : 4個字節 float: 4個字節 double: 8個字節 long: 8個字節 long long: 8個字節 unsigned long: 8個字節