首页 百科知识 共用体类型变量的引用

共用体类型变量的引用

时间:2022-09-22 百科知识 版权反馈
【摘要】:同样,在C语言程序中只能引用共用体类型变量的成员,不能直接引用共用体变量。结构体类型也可以出现在共用体类型定义中,另外,数组可以作为共用体的成员。例8.20  一个简单的学校人员管理程序。上面的程序中,将学生的学号和教师的职称作为一个共用体类型的数据的成员,存放在同一段内存单元中,通过结构体类型数据的judge成员来进行判定,如果是学生,则输出其学号,如果是教师,则输出其职称。

8.6.3 共用体类型变量的引用

同样,在C语言程序中只能引用共用体类型变量的成员,不能直接引用共用体变量。引用共用体变量成员一般形式如下:

变量名.成员名

例如:stt1.age=18;

注意:

①共用体是在同一个内存段中存放几种不同类型的成员,但在某一个具体的瞬间,只能存放其中的一个成员,即某一瞬间只有一个成员起作用,不是所有的成员都同时起作用。

②共用体变量中起作用的成员是最后一次存放的成员,前面存放的成员被后面存放的成员所覆盖。

例如:

img654

img655

执行完这两条语句后,只有stt1.score成员有效,stt1.age成员已经被stt1.score成员覆盖了。

③共用体变量的地址与其各成员的地址是同一个地址。即&stt1、&stt1.age、&stt1.score 和&stt1.name是同一个值。

④不能直接对共用体变量赋值,也不能直接引用共用体变量,更不能对共用体变量进行初始化。

⑤共用体变量不能作为函数的参数,函数的返回值不能为共用体变量。

⑥共用体类型可以用于结构体类型定义中,也可以定义共用体类型数组。结构体类型也可以出现在共用体类型定义中,另外,数组可以作为共用体的成员。

⑦ 可以使用指向共用体变量的指针变量。

例8.20  一个简单的学校人员管理程序。输入一组人员信息,包含姓名、性别、年龄、身份(如果是学生,包含学号,如果是教师,包含职称)。

程序如下:

img656

img657

程序运行结果如下:

img658

上面的程序中,将学生的学号和教师的职称作为一个共用体类型(union vocation)的数据的成员,存放在同一段内存单元中,通过结构体类型(struct person)数据的judge成员来进行判定,如果是学生,则输出其学号,如果是教师,则输出其职称。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈