<分区>
我尝试了一个简单的代码来查看我创建的 union 的大小,它说大小是 52 而不是 50。我尝试使用另一个相同大小的字符串,它像平常一样给出 50。额外的 2 个字节来自哪里?
这里是代码
union Name
{
int y;
float x;
char name[50];
}name;
int main(int argv, char *argc[])
{
char name2[50];
printf("%d",sizeof(name));
printf("\n%d",sizeof(name2));
return 0;
}
结果是 52 和 50。