A-A+

若有下面的说明和定义: struct test { char m2; float m3; u

2022-08-06 03:01:17 问答库 阅读 175 次

问题详情

若有下面的说明和定义: struct test { char m2; float m3; union uu{ char u1[5]; float u2; }ua; }MyStruct; 则sizeof(MyStruct)的值是()。
A.10
B.11
C.12
D.9请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:A
解析:C++中,联合体变量所占内存字节数与其成员中占字节数最多的那个成员相等。联合体中,浮点变量u2占4个字节,字符型数组u1占5个字节,所以联合体u1占5个字节。整个结构体所占字节数为10。

考点:定义