06年的一道试题
已知有变量data1定义如下:
union data
{int i;
char ch;
float f;
}data1;
则变量data1所占的内存存储空间可表示为sizeof(float)。
这道题 怎么解释?
06年的一道试题
已知有变量data1定义如下:
union data
{int i;
char ch;
float f;
}data1;
则变量data1所占的内存存储空间可表示为sizeof(float)。
这道题 怎么解释?
union的长度取决于其定义成员里最长的长度,float大多是4个字节, char是1个字节, int在16位编译器为2字节(如Turbo C 2.0), 在32位编译器为4字节。所以变量data1所占的内存存储空间可表示为sizeof(float)。
http://campus.chsi.com.cn/xy/com/200911/20091112/38731164.html