共用体变量的引用与结构体类似,共用体变量中成员的引用方式为:共用体变量名.成员名只有先定义了共用体变量才能引用它,而且不能直接引用共用体变量,只能引用共用体变量中的成员。例如,前面定义了共用体变量 a,则:a.i 表示引用共用体变量中的整型变量 ia.c 表示引用共用体变量中的字符型变量 ca.f 表示引用共用体变量中的实型变量 f但不能只引用共用体变量,例如 printf("%d", a); 是错误的,因为 a 的存储区有好几种类型,分别占不同长度的字节,仅写共用体变量名 a,难以使系统确定究竟输出的哪一个成员的值。共用体类型数据的特点在使用共用体类型数据时,应当注意以下一些特点:同一个内存段可以用来存放几种不同类型的成员,但在每一瞬时只能存放其中一种,而不是同时存放几种。也就是说,每一瞬时只有一个成员起作用,其它的成员不起作用,即:共用体中的成员不是同时都存在和起作用的。共用体变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后,原有的成员就失去作用了。例如有如下赋值语句:a.i = 1;a.c = 'F';a.f = 2.5; 在执行完以上 3 条赋值语句后,此时只有 a.f 是有效的,而 a.i 和a.c 已经无意义了。因此在引用共用体变量的成员时,程序员自己必须十分清楚当前存放在共用体变量中的究竟是哪个成员。共用体变量的地址和它的各成员的地址都是同一地址,例如 &a、&a.i、&a.c、&a.f 都是同一个地址值,其原因是显然的。