union大小是不是占用了它的元素的最大大小?它取12个字节而不是10个字节但是如果我在下面的代码中移除浮动而不是10个字节可以解释它吗?
union u
{
char ch[10];
//float f;
};
int main()
{
union u var;
printf("%d\n",sizeof(var)); // why size is 12 here why not 10 but if float is removed then size is 10 please explain?
}
答案 0 :(得分:0)
它依赖于所有实现,并且与对齐和填充等有关。使用不同的编译器/版本/系统,它可能会完全不同。