问题
单项选择题
设有一联合体变量定义如下:
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’:
A.111111
B.2222
C.2.1546
D.R
答案
参考答案:D
解析: 本题主要考查的知识点是联合体的内存使用。联合体与结构体的定义相同,其本质区别就在于内存使用方式的不同。联合体所占用的内存空间为最长的成员所占用的空间,各个成员分量全部是从低地址方向开始使用内存单元;联合体中的空间在某一时刻只能保持某一个成员的数据,所以本题执行完一系列赋值后,只得到最后执行的字符’R’。