以下内容援引自<C Primer Plus>中文版第五版Page95
Sizeof运算符以字节为单位返回其操作数的大小.(在C中,1个字节被定义为char类型所占用空间的大小.在过去,1个字节通常是8位,但是一些字符集可能使用更大的字节).操作数可以是一个具体的数据对象(例如一个变量名),或者一个类型.如果它是一个类型(如float),操作数必须被包括在圆括号里.
1 #include <stdio.h> 2 int main(void) 3 { 4 int a=3; 5 float b[10]; 6 char c[5]; 7 char d[20]="Hello"; 8 char e[] = "helloworld"; 9 10 printf("sizeof(char)=%d ", sizeof(char)); 11 printf("sizeof(int)=%d ", sizeof(int)); 12 printf("sizeof(float)=%d ", sizeof(float)); 13 printf("sizeof(a)=%d ", sizeof(a)); 14 printf("sizeof(b)=%d ", sizeof(b)); 15 printf("sizeof(c)=%d ", sizeof(c)); 16 printf("sizeof(d)=%d ", sizeof(d)); 17 printf("sizeof(e)=%d ", sizeof(e)); 18 printf("sizeof(a++)=%d ", sizeof(a++));
// sizeof运算符计算操作数中的运算 19 printf("after sizeof(a++)=%d ", a ); 20 21 return 0; 22 }
输出为:
1 sizeof(char)=1 2 sizeof(int)=4 3 sizeof(float)=4 4 sizeof(a)=4 5 sizeof(b)=40 6 sizeof(c)=5 7 sizeof(d)=20 8 sizeof(e)=11 9 sizeof(a++)=4 10 after sizeof(a++)=3