如何确定sizeof时关键字,而不是函数
如果sizeof是函数,a++一定被执行到了,再次输出a时,值应该为2
#include <stdio.h>
int main()
{
int a = 1;
printf("%d \n", sizeof(a++));
printf("%d \n", a);
return 0;
}
sizeof辨析题
#include <stdio.h>
int main()
{
int a[] = {1, 2, {3, 4}};
printf("%d \n", sizeof(a)); // a数组中最大是2,整个数组为 2 * 3 * sizeof(int)
printf("%d \n", sizeof(&a)); // 地址,32位系统中,4字节
printf("%d \n", sizeof(*a)); // 指针,32位系统中,4字节
int b[2][3] = {0};
printf("%d \n", sizeof(b[0])); // b数组中最大是2,整个数组为 2 * 3 * sizeof(int)
printf("%d \n", sizeof(b[0]+1)); // b中首个元素,是int,32位系统中,4字节
printf("%d \n", sizeof(&b[0])); // b取地址,32位系统中,4字节
return 0;
}