C语言的union
类型是一种用于存储不同数据类型的数据结构,但与struct
类型不同,union
只能同时存储其中的一个成员的值,而不是所有成员的值。这可以节省内存,因为union
的大小等于其最大成员的大小。
- union UnionName {
- data_type member1;
- data_type member2;
- //...
- data_type memberN;
- };
union
的特点包括:
内存共享:union
的各个成员共享相同的内存位置,因此只能存储一个成员的值。 如果更改一个成员的值,会影响其他成员的值。
大小等于最大成员的大小:union
的大小等于其中最大成员的大小。 (union
需要足够的内存来容纳最大的成员)
可以通过成员访问:使用.
运算符来访问union
中的成员,就像访问struct
中的成员一样。