为什么输出 b 的大小是8? char a[5]占5个字节,int4个字节,不是应该选较大的一个?
#include
typedef union myun
{
char a[5];
int b;
} a;
void main()
{
a b = {.b=10};
printf("%d\n", sizeof(b));
}
为什么输出 b 的大小是8? char a[5]占5个字节,int4个字节,不是应该选较大的一个?
#include
typedef union myun
{
char a[5];
int b;
} a;
void main()
{
a b = {.b=10};
printf("%d\n", sizeof(b));
}