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

admin2009-01-15  32

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

选项 A、变量demo与成员d2所占的内存字节数相同
B、变量demo中各成员的地址相同
C、变量demo和各成员的地址相同
D、若给demo.d1赋99后,demo.d2中的值是99.0

答案8

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

随机试题
最新回复(0)