(1)union维护足够的空间来放置多个数据成员中的一种,而不是为每一个数据成员配置空间。在union中所有的数据成员公用一个空间,同一时间只能储存 其中一个数据成员,所有的数据成员具有相同的起始地址。例如:
union StateMachine
{
char character;
int number;
char *str;
double exp;
};
一个union只配置一个足够大的空间来容纳最大长度的数据成员,以本例而言,最大长度是double类型,所以StateMachine的空间大小就是double数据类型的大小。
本文介绍联合体(union)的概念及其内存管理方式。在union中,所有成员共享同一块内存空间,仅能存储一个成员变量。文章通过示例说明了如何定义一个union,并解释了为何其大小等于最大成员变量的大小。
4636

被折叠的 条评论
为什么被折叠?



