问题 单项选择题

若有下面的说明和定义,则sizeof(struct aa)的值是 struct aa { int rl;double r2;float r3; union uu{char u1[5];long u2[2];}ua; } mya;

A.30

B.29

C.24

D.22

答案

参考答案:D

解析: 本题主要考查结构体变量和共用体变量所占存储空间大小的计算方法。结构体变量所占内存长度是各成员占的内存长度之和,每个成员分别占有自己的内存单元;共用体变量所占的内存长度等于最长的成员的长度。结构体变量aa中,成员r1占2个字节,r2占8个字节,r3占4个字节,共用体ua占8个字节,所以共占用2+8+4+8=22个字节。

单项选择题
多项选择题