- 0
- 0
- 约3.64千字
- 约 18页
- 2018-03-07 发布于河南
- 举报
第11章3共用体
* §11.4 共用体 一、共用体的定义 在 C语言中,共用体表示几个变量共用一个内存单元,这些变量可以是不同的类型。共用体的定义与结构体的定义十分相似,共用体类型的定义形式为: union 共用体名 {成员表列}; 实 型 变 量f 整 型 i ch 1000 地址 union type { int i; char ch; float f; } a; 共用体变量的定义: ① 类型与变量同时给出 union type1 { int i; char ch; float f; } a,b,c; ③ 只给出变量名 union { int i; char ch; float f; } a,b,c; ② 类型与变量分别给出 union type1 { int i; char ch; float f; }; union type1 a,b,c; 结构体变量所占内存长度是各成员占的内存长度之和,每个成员分别占有自己的内存单元。 共用体变量所占的内存长度等于占用内存单元最长的成员的长度。 二 . 共用体变量的引用 只有先定义了共用体变量才能引用它,而且不能直接引用共用体变量,只能引用共用体变量中的成员。例如上面定义a,b,c共用体变量,则可引用: a.i a.ch a.f 三 . 共用体数据类型的特点 1. 每一瞬时只有一个成员起作用; 2. 共用体变量中起作用的成员是最后一次存放的成 员; 3. 共用体变量的地址和它的各成员的地址都是同一 地址; 4. 不能对共用体变量名赋值,也不能企图引用变量名来得到成员的值,又不能在定义共用体变量时对它初始化; 5. 不能把共用体变量作为函数参数,也不能使函数带回共用体变量,但可以使用指向共用体变量的指针; 6. 共用体类型可以出现在结构体类型定义中,也可以定义共用体数组。 二、共用体变量的应用 1. 在数据处理中,常用一个数据空间存放不同的对象。 例如:将人员定义成下面的结构体: struct {long num; char name[20]; char sex; char job; union {int class; char group[20]; }address; } person[10]; 在该结构体变量中,学校人员的号码(num)、姓名(name)和性别(sex)是通用的,而根据职业(job)不同输入不同的单位。如果job项输入s(学生),则应接收一 个班号给class,如果job项输入t(教师),则输入其工作单位给group。例如: … … scanf(%c,person[0].job); if(person[0].job==s) scanf(%d,person[0].address.class); else if(person[0].job==t) scanf(%s,person[0].address.group); … … 2. 便于不同类型间的转换 例1: 将一个整数按字节输出其内容 程序运行结果为: i=3731 ch0=31,ch1=37 ch0=1,ch1=7 main( ) {union int_char {int i; char ch[2]; }k; k.i=14129; printf(i=%x\n,k.i); printf(ch0=%x,ch1=%x\n, k.ch[0],k.ch[1]); printf( ch0=%c,ch1=%c\n, k.ch[0],k.ch[1]); } 0 0 1 1 0 0 0 1 0 0 1 1 0 1 1 1 i ch[0] ch[1] 三、共
您可能关注的文档
- 10.4热机2.doc
- 十七届四中全会精神集中宣讲活动方案.doc
- 数码单反_成就专业.pdf
- 国外高校人文社会科学发展报告 2008.doc
- 2013年酉州中学初中化学方程式大全.doc
- 操作系统报告一.docx
- 日语能力考一级语法精选.doc
- 读管理的实践想到的.doc
- 自然知道第一课时(沈.ppt
- 北师大版四年级数学8-练习四.ppt
- 《病理生理学》(人卫第8版)试卷及答案.docx
- 2025年云计算服务行业五年市场规模分析报告.docx
- 手术室护士理论模拟试卷及答案.docx
- 2025年水电站主变压器油样采集与检测试卷及答案.docx
- 2025_2026学年新教材高中地理第二章资源安全与国家安全第三节中国的耕地资源与粮食安全课时评价含解析新人教版选择性必修第三册.doc
- 2025年全国网络安全知识竞赛试卷及答案.docx
- 2025年电力电网-国家电网职称-电网中级(电力系统及其自动化)历年参考试卷及答案.docx
- 初中英语八年级下册Unit10情感表达与建议主题单元复习课教学设计.docx
- 六年级英语小升初语音与字母系统专项复习.docx
- UnitLet’scelebrate!TheRealFatherChristmas课件外研版高中英语().pptx
最近下载
- 《GBT1541-2013纸和纸板尘埃度的测定》(2026年)实施指南.pptx VIP
- 办公用品采购服务方案、售后方案.docx VIP
- 胃肠外科护理护士出科理论考核试题与答案.pdf VIP
- 废水污染源自动在线监控设施业务知识.docx VIP
- 护理业务查房管理规范(T/HNNAS 005—2025).pptx
- 哲学概论第2讲-本体论.ppt VIP
- 人教版一年级数学下册.pdf VIP
- 复杂超限高位大跨连体结构设计.pdf VIP
- JBT 9101-2014 通风机转子平衡.pdf VIP
- 深度解析(2026)《GBT 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜》.pptx VIP
原创力文档

文档评论(0)