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