教育改变生活

标题: 【C语言】共用体的应用 [打印本页]

作者: wander    时间: 2024-6-24 16:25
标题: 【C语言】共用体的应用
本帖最后由 wander 于 2024-6-24 16:27 编辑

共用体在一般的编程中应用较少,在单片机中应用较多。对于 PC 机,经常使用到的一个实例是: 现有一张关于学生信息和教师信息的表格。学生信息包括姓名、编号、性别、职业、分数,教师的信息包括姓名、编号、性别、职业、教学科目。请看下面的表格:
NameNumSexProfessionScore / Course
HanXiaoXiao501fs89.5
YanWeiMin1011mtmath
LiuZhenTao109ftEnglish
ZhaoFeiYan982ms95.0

f 和 m 分别表示女性和男性,s 表示学生,t 表示教师。可以看出,学生和教师所包含的数据是不同的。现在要求把这些信息放在同一个表格中,并设计程序输入人员信息然后输出。

如果把每个人的信息都看作一个结构体变量的话,那么教师和学生的前 4 个成员变量是一样的,第 5 个成员变量可能是 score 或者 course。当第 4 个成员变量的值是 s 的时候,第 5 个成员变量就是 score;当第 4 个成员变量的值是 t 的时候,第 5 个成员变量就是 course。

经过上面的分析,我们可以设计一个包含共用体的结构体,请看下面的代码:
运行 结果:
Input info: HanXiaoXiao 501 f s 89.5↙Input info: YanWeiMin 1011 m t math↙Input info: LiuZhenTao 109 f t English↙Input info: ZhaoFeiYan 982 m s 95.0↙Name            Num     Sex     Profession      Score / CourseHanXiaoXiao     501     f       s               89.500000YanWeiMin       1011    m       t               mathLiuZhenTao      109     f       t               EnglishZhaoFeiYan      982     m       s               95.000000








欢迎光临 教育改变生活 (http://bbs.goldoar.com/) Powered by Discuz! X3.2