和機器字長及編譯器有關係:所以,int,long int,short int的寬度都可能隨編譯器而異。但有幾條鐵定的原則(ansi/iso制訂的):
1 sizeof(short int)<=sizeof(int)
2 sizeof(int)<=sizeof(long int)
3 short int至少應為16位(2位元組)
4 long int至少應為32位。
unsigned 是無符號的意思。
例如: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個位元組
資料型別所佔位元組數
一 32位平台 分為有符號型與無符號型。有符號型 short 在記憶體中佔兩個位元組,範圍為 2 15 2 15 1 int 在記憶體中佔四個位元組,範圍為 2 31 2 31 1 long在記憶體中佔四個位元組,範圍為 2 31 2 31 1 無符號型 最高位不表示符號位 unsigned sho...
C基本資料型別所佔位元組數
1byte 8bit 1kb 1024byte 2 10 1m 1024kb 1g 1024m 買硬碟實際記憶體小是因為廠商當1000換算的。這個基本的問題,很早以前就很清楚了,c標準中並沒有具體給出規定那個基本型別應該是多少位元組數,而且這個也與機器 os 編譯器有關。那麼怎樣才能知道自己系統的資...
基本資料型別所佔位元組數
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個位元...