c语言 union 意思?

学习 时间:2026-04-07 22:02:49 阅读:4651
c语言 union 意思?可以的话编一个程序 有输出的说明下

最佳回答

动听的发夹

坦率的乌龟

2026-04-07 22:02:49

英文直译就是联合体,就是一个多个变量的结构同时使用一块内存区域,区域的取值大小为该结构中长度最大的变量的值。设有一个教师与学生通用的表格,教师数据有姓名,年龄,职业,教研室四项。学生有姓名,年龄,职业,班级四项。编程输入人员数据,再以表格输出。程序用一个结构数组body来存放人员数据,该结构共有四个成员。其中成员项depa是一个联合类型,这个联合又由两个成员组成,一个为整型量class,一个为字符数组office。在程序的第一个for语句中,输入人员的各项数据,先输入结构的前三个成员name,age和job,然后判别job成员项,如为"s"则对联合depa·class输入(对学生赋班级编号)否则对depa·office输入(对教师赋教研组名)。在用scanf语句输入时要注意,凡为数组类型的成员,无论是结构成员还是联合成员,在该项前不能再加"&"运算符。如程序第18行中body[i]。name是一个数组类型,第22行中的body[i]。depa。office也是数组类型,因此在这两项之间不能加"&"运算符。程序中的第二个for语句用于输出各成员项的值:int main(){struct{char name[10];int age;char job;union{int class;char office[10];} depa;}body[2];int n,i;for(i=0;i

最新回答共有2条回答

  • 义气的睫毛
    回复
    2026-04-07 22:02:49

    英文直译就是联合体,就是一个多个变量的结构同时使用一块内存区域,区域的取值大小为该结构中长度最大的变量的值。设有一个教师与学生通用的表格,教师数据有姓名,年龄,职业,教研室四项。学生有姓名,年龄,职业,班级四项。编程输入人员数据,再以表格输出。程序用一个结构数组body来存放人员数据,该结构共有四个成员。其中成员项depa是一个联合类型,这个联合又由两个成员组成,一个为整型量class,一个为字符数组office。在程序的第一个for语句中,输入人员的各项数据,先输入结构的前三个成员name,age和job,然后判别job成员项,如为"s"则对联合depa·class输入(对学生赋班级编号)否则对depa·office输入(对教师赋教研组名)。在用scanf语句输入时要注意,凡为数组类型的成员,无论是结构成员还是联合成员,在该项前不能再加"&"运算符。如程序第18行中body[i]。name是一个数组类型,第22行中的body[i]。depa。office也是数组类型,因此在这两项之间不能加"&"运算符。程序中的第二个for语句用于输出各成员项的值:int main(){struct{char name[10];int age;char job;union{int class;char office[10];} depa;}body[2];int n,i;for(i=0;i

上一篇 未来人类真的可以时间旅行吗?

下一篇 英语翻译加缪、《局外人》、默而索、荒诞、荒诞感、反抗、形象分析.感激不尽!