Skip to content
On this page

C语言共用体


标签:clang/basic  

初始化

1. 直接初始化

就是在声明的时候直接初始化了:

c
union AA
{ 
int a; 
char b; 
double c; 
} s={100}, //直接定义  默认是第一个变量的值 
	s1={.b='k'};//直接定义,制定为某个变量赋值

[!warning] 注意

初始化直接赋值, 只能赋给第一个元素, 如果输入类型不对也是强制类型转换给第一个元素, 可以通过 .元素名 的方式赋值.

2. 间接初始化

c
union AA k = {200};
union AA k1 = {.c=1.2}; 
k.c = 'h';

和直接赋值差不多, 可以参考一下结构体.

问题

如果一个结构体变量没有 union 里的 a 属性, 如果输出 a 属性, 会强制输出 b 属性?

Last updated: