1.sizeof(表达式)
#include<stdio.h>
int main(void)
{
short a = 5;
int s = 7;
printf("%d\n", sizeof(a = s + 2));
printf("%d\n", a);
printf("%d\n", sizeof(s=a+2));
printf("%d\n", s);
return 0;
}
结果是:
2 5 4 7
结果说明:
1.sizeof中的表达式不进行计算。!!!!
2.由等号左边的内存大小来决定(这个用语言不太好描述)
2.sizeof部分可以省略括号
可以省略括号的是:
sizeof a ————a为变量
不可以省略括号的是:
sizeof int 是不对的,应该加上括号sizeof(int)
3.sizeof加上数组名
这计算的是整个数组的的大小。比如
int arr[10]={0};
printf("%d",sizeof(arr));
此结果是10*4=40