单选题 设有一联合体变量定义如下: union data { long a; float b: int c: char d: }; union data x: 执行下列语句后,正确的联合体变量x的值是 ( )。 x.a=111111, x.b=2222; x.c=2.1546; x.d='R';
【正确答案】 D
【答案解析】解析:本题主要考查的知识点是联合体的内存使用。联合体与结构体的定义相同,其本质区别就在于内存使用方式的不同。联合体所占用的内存空间为最长的成员所占用的空间,各个成员分量全部是从低地址方向开始使用内存单元;联合体中的空间在某一时刻只能保持某一个成员的数据,所以本题执行完一系列赋值后,只得到最后执行的字符'R'。