请问union是什么意思

发布网友 发布时间: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]

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com