问题 单项选择题

设有以下定义: union data { int d1; float d2; } demo; 则下面叙述中错误的是( )。

A.变量demo与成员d2所占的内存字节数相同

B.变量demo中各成员的地址相同

C.变量demo和各成员的地址相同

D.若给demd1赋99后,demd2中的值是99.0

答案

参考答案:D

解析: 本题中float所占内存字节数为4,而int类型在VC 6.0中占4字节,所以demo就与成员d2所占字节数是相同的,选项A的说法正确。联合体的所有成员的首地址都是相同的,和联合体变量的地址一致。故选项B和C都是正确的。由于int类型数据和float类型数据在内存中的存放格式是不一样的,所以给d1赋99后,d2中不会得到99.0这个值。故选项D不正确,答案应该选择D。

单项选择题 共用题干题
单项选择题