C语言中的联合又叫什么?

来源:百度知道 编辑:UC知道 时间:2024/06/17 19:38:33
C语言中的联合又叫什么?

联合又称联合体或共用体(union),共用体是通过成员的相互覆盖,是的几个不同的变量共占一段内存,以此大道节省内存的目的。
union data
{
int i;
char c;
float f;
} a;
上面的作用是定义联合体,举个例子吧,就像你定义一个整型常量,如 int b=1
上面的那段代码等同与int,他是告诉系统有这么一个变量,那么接下来就是设置一个常量了,}号后面接着的a就像int b=1中的b一样,系统这时就会为a这一个变量分配内存空间。
上面的联合体里有3个成员,也就是说有3个变量,A选项就是正确的赋值方式,就像b赋值为1一样,如果你想对具体某个成员赋值的话,就要用到“.”号或
“->”号,通常用“.”。

c语言的联合(union)介绍 “联合”与“结构”有一些相似之处。但两者有本质上的不同。在结构中各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量的长度等于各成员中最长的长度。应该说明的是, 这里所谓的共享不是指把多个成员同时装入一个联合变量内, 而是指该联合变量可被赋予任一成员值,但每次只能赋一种值, 赋入新值则冲去旧值。如前面介绍的“单位”变量, 如定义为一个可装入“班级”或“教研室”的联合后,就允许赋予整型值(班级)或字符串(教研室)。要么赋予整型值,要么赋予字符串,不能把两者同时赋予它。联合类型的定义和联合变量的说明一个联合类型必须经过定义之后, 才能把变量说明为该联合类型。 一、联合的定义 定义一个联合类型的一般形式为: union 联合名 { 成员表 }; 成员表中含有若干成员,成员的一般形式为: 类型说明符 成员名 成员名的命名应符合标识符的规定。 例如: union perdata { int class; char office; }; 定义了一个名为perdata的联合类型,它含有两个成员,一个为整型,成员名为class;另一个为字符数组,数组名为office。联合定义之后,即可进行联合变量说明,被说明为perdata类型的变量,可以存放整型量class或存放字符数组office。 二、联合变量的说明 联合变量的