问题
单项选择题
若有下面的说明和定义:
struct test
int m1;Char m2;float m3;
union uuchar 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。