发布网友 发布时间:2022-04-26 13:40
共2个回答
热心网友 时间:2022-06-28 17:23
和struct一样,union只有先定义了共用体变量才能引用它。而且不能直接引用共用体变量,而只能引用共用体变量中的成员。就像我上面定义的union test。我们不能像下面这样直接引用union:
union test a;
printf("%d", a);
这种直接引用是错误的,由于a的存储区有好几种类型,分别占不同长度的存储区,仅写共用体变量名a,这样使编译器无法确定究竟输出的哪一个成员的值。所以,应该写成下面这样:
printf("%d", a.mark);
同时,在使用union的时候,我们还需要注意以下的几点:
同一个内存段可以用来存放几种不同类型的成员,但在每一个时刻只能存在其中一种,而不是同时存放几种。也就是说,每一瞬间只有一个成员起作用,其它的成员不起作用,即不是同时都存在和起作用。
热心网友 时间:2022-06-28 17:24
n. 联盟,协会;工会;联合
英 ['juːnjən; -ɪən] 美 ['junɪən]