问题
单项选择题
若有下面的说明这定义:
struct test
int m1; char m2; float m3;
union uu char u1[5]; int u2 [2]; ua;
myaa;
则 sizeof (struct test )的值是
A.12
B.16
C.14
D.9
答案
参考答案:A
解析: 本题考核的知识点是结构体变量的存储空间。结构体所占用的存储空间是其所有成员占用的存储空间之和,而共用体所占用的存储空间是成员中占用存储空间最大者的空间,共用体类型uu是结构体的成员,它所占的内存长度为最大成员的长度,即字符型数组u1的长度,即1×5=5。每个整型数据占用2个字节,每个字符型数据占用一个字节,单精度型数据占4个字节, myaa为结构体变量,它所占的存储空间为各个成员所占存储空间的之和,即2+1+4+5=12。所以,4个选项中A为所选。