sizeof是操作符不是函数。
sizeof是求变量或者类型或者表达式结果所占内存的字节大小。
1.sizeof(变量名称)
int a;
short b;
char c;
double d;
sizeof(a) = 4;
sizeof(b) = 2;
sizeof(c) = 1;
sizeof(d) = 8;
2.sizeof (类型名称)
sizeof(int) = 4;
sizeof(char) = 1;
sizeof(double) = 8;
3.sizeof(表达式)
1.sizeof只关心表达式结果类型,并不会计算表达式
2.sizeof(expr) expr是个多类型表达式时,只关心最宽的字节类型
sizeof('a') = 4;
char c = 'a';
sizeof(c) = 1;
sizeof(c +'a') = 4;
'a' + 'a' ===> 结果类型为int
4.sizeof(数组名称)
sizeof(数组名称)的运算结果是:这个数组所申请得到的空间的字节数!
int a[1000];
double b[1000];
sizeof(a) = 4000;
sizeof(b) = 8000;
5.sizeof(函数)
sizeof(函数名) 函数没有小括号() 始终为 1
sizeof(函数名()) 函数名有小括号 结果等于函数返回值类型的字节宽度
6.sizeof(指针)
sizeof(指针) 结果为4
指针 == 内存地址