二级考试C语言的联合类型讲解

二级考试C语言的联合类型讲解,第1张

二级考试C语言的联合类型讲解,第2张

“联合”和“结构”有一些相似之处。但两者有本质区别。在结构中,每个成员都有自己的内存空,一个结构变量的总长度是每个成员长度的总和。在“联合”中,每个成员共享一个内存空,一个联合变量的长度等于每个成员的最大长度。需要注意的是,这里所谓的共享并不是指多个成员同时加载到一个联合变量中,而是联合变量可以赋予任意成员值,但每次只能赋予一个值,新值会刷新旧值。比如前面提到的“单位”变量,如果定义为可以加载到“班级”或“教研室”的组合,则允许赋予整数值(班级)或字符串(教研室)。给它一个整数值或者一个字符串,不能两个都给。联合类型的定义和联合变量的描述必须先定义联合类型,然后才能将变量描述为联合类型。

一、联合的定义

定义联合类型的一般形式是:

Union name
{
成员表
};

成员表包含几个成员。成员的一般形式是:类型说明符,成员名,成员名的命名要符合标识符的规定。

例如:

union perdata
{
int类;
char office[10];
};

定义了一个名为perdata的union类型,它包含两个成员,一个是integer,一个是class。另一个是字符数组,数组名是office。定义了联合之后,就可以描述联合变量了。它被描述为perdata类型的变量,可以存储整数类或字符数组office。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 二级考试C语言的联合类型讲解

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情