我正在学习 K&R C。在第 6.8 章中它指出:
联合只能使用其第一个成员的类型值进行初始化;因此
u
上述联合只能用整数值初始化。
...并定义一个联合 u 如下:
union u_tag {
int ival;
float fval;
char *sval;
} u;
我不知道如何理解这一点。什么意思,初始化u
必须为:
u.ival = 323;
显然,情况并非如此,因为我可以初始化u
为:
u.fval = 1.0;
或者
u.sval = "hi";
里奇是什么意思?