首页 > 试题广场 >

下面代码打印结果为()union package{ c...

[单选题]
下面代码打印结果为()
union package
{
char head;
int  body;
};
struct message
{
char id;
int  crc;
union package pack;
};

int main()
{
printf("size=%d\n",sizeof(struct message));
return 0;
}
  • 9
  • 10
  • 11
  • 12
union变量所占用的内存长度等于最长的成员的内存长度。 因为字节对齐的缘故 id占4个字节, crc占4个, pack占4个,就共占12个字节(来源于网络)
发表于 2019-09-01 19:10:02 回复(0)
4 + 4 + 4
char 要对齐
发表于 2019-08-15 15:56:27 回复(0)