回覆列表
-
1 # 抖音小王子
-
2 # Kwanlinli
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個位元組
我用的書裡,long寫的是8個, 我認為應該是錯誤的,是 4個位元組
#include <stdio.h>
int main(void)
{
printf("char 所佔位元組數 %d\n", sizeof(char));
printf("int 所佔位元組數 %d\n", sizeof(int));
printf("short 所佔位元組數 %d\n", sizeof(short));
printf("long 所佔位元組數 %d\n", sizeof(long));
printf("float 所佔位元組數 %d\n", sizeof(float));
printf("double 所佔位元組數 %d\n", sizeof(double));
}
char型別變數佔一個位元組 int型不一定,32位系統佔4位元組,16位系統佔2位元組 short型2位元組 long型4位元組