1. 程式人生 > >C語言資料型別及長度

C語言資料型別及長度

資料型別的長度跟編譯器和系統有關,比如在windows下的32位編譯器下的資料型別位元組數:

char :1個位元組
char*(即指標變數): 4個位元組(32位的定址空間是2^32, 即32個bit,也就是4個位元組。)
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個位元組(64位的定址空間是2^64, 即64個bit,也就是8個位元組。)


short int : 2個位元組
int: 4個位元組
unsigned int : 4個位元組
float: 4個位元組
double: 8個位元組
long: 4個位元組
long long: 8個位元組
unsigned long: 4個位元組

除了指標的長度改變了外,其他都保持原樣。
但如果是linux系統的話,在64位編譯器下long和unsigned long型別將變成8個位元組。