笔记贴,直接上代码吧, 一下代码的输出是多少, 无非就是针对 sizeof(void)
#include <stdio.h>
int main()
{
printf("%d\n", sizeof(void));
return 0;
}
是 1
为什么不是 0 ?
空类型的实例中不包含任何信息,本来求sizeof应该是0, 但是当我们声明该类型的实例的时候, 它必须在内存中占有一定的空间. 否则无法使用这个实例. 至于占多少内存 ,由编译器决定.
所以上述的答案, 应该加上前提"在gcc编译器的实现中, sizeof void 值为1"