- 31
- 0
- 约1.93万字
- 约 14页
- 2018-11-12 发布于广西
- 举报
16(*) 共用体 构造数据类型,也叫联合体 用途:使几个不同类型的变量共占一段内存(相互覆盖) 1、共用体类型的定义 union [联合体类型名] { 数据类型名1 成员名1; 数据类型名2 成员名2; … … 数据类型名n 成员名n; }; 类型定义不分配内存 ch i f 2000 2001 2002 2003 共占4字节 sizeof(union UData) = sizeof(f) 联合体的大小是成员中占内存最大的成员的大小 union UData { short i; char ch; float f; }; ch i f 2000 2001 2002 2003 2004 2005 2006 2007 共占7字节 struct SData { short i; char ch; float f; }; 16(*) 共用体变量的定义和引用 共用体变量的定义 形式一: union data { short i; char ch; float f; } a, b; 形式二: union data { short i; char ch; float f; }; union data a, b, *p, d[3]; 形式三: union { short i; char ch; float f; } a,b,c; f ch i f ch i a b 共用体变量任何时刻 只有一个成员存在 共用体变量定义分配内存, 长度=最长成员所占字节数 16(*) 共用体变量的引用 共用体变量名.成员名 共用体指针名-成员名 或 (*共用体指针名).成员名 union data { int i; char ch; float f; }; union data a, b, c, *p, d[3]; a.i a.ch a.f p-i p-ch p-f (*p).i (*p).ch (*p).f d[0].i d[0].ch d[0].f 16(*) 共用体变量的赋值 共用体变量的初始化赋值 定义共用体变量时可以对变量赋初值,但只能对变量的一个成员赋初值,不可象结构体变量那样对所有的成员赋初值。 union UData { short i; char ch; float f; }; union UData data = {10}; //10赋给成员i union UData data = {A}; //A赋给成员i,即i的值为65(A的ASCII码) union UData data = {10, A, 12.5}; //错误,{ }中只能有一个值 union UData data = 10; //错误,初值必须用{ }括起来 16(*) 共用体变量的赋值 共用体变量在程序中赋值 定义了共用体变量以后,如果要对其赋值,则只能通过对其成员赋值,不可对其整体赋值。 具有相同共用体类型的变量之间也可以相互赋值。 union UData { short i; char ch; float f; }; union UData data, *p, d[10]; data = {10}; //错误 data = 10; //错误 data.i = 10; //正确,将10赋给data的成员i p = data; //p指向data p-f = 12.5; //正确,将12.5赋给data的成员f d[0].ch = A //正确,将A 赋给d[0]的成员ch union UData data1 = {10}, data2; data2 = data1; //正确 16(*) 几点说明: 由于共用体变量的各成员共享同一地址的内存单元,所以在对其成员赋值的某一时刻,存放的和起作用的将是最后一次存入的成员值 对共用体变量的某个成员赋值时,也改变了其它成员的值,因为它们共享一个内存地址。 由于共用体变量所有成员共享同一内存空间,因此共用体变量与其各成员的地址相同。 union UData data; data.i = 10; data.ch = A; data.f = 12.5; 则data.f的值才是有效的成员的值。 union UData data
您可能关注的文档
- 《_幂函数_》课件.ppt
- 《_结直肠癌肝转移的转化性治疗_ETS篇_》课件.ppt
- 《_河流地貌的发育》课件.ppt
- 《_熔点的测定》课件.ppt
- 《_数值分析_最佳平方逼近》课件.ppt
- 《_四位一体综合防突措施》课件.ppt
- 《_酸碱盐复习》课件.ppt
- 《_乌鸦喝水课件》课件.ppt
- 《_乌鸦喝水课件00》精选·课件.ppt
- 《_最后一头战象》课件.ppt
- 中国柑片行业市场规模及未来投资方向研究报告.pdf
- 中国枸椽酸喷托维林片行业市场规模及未来投资方向研究报告.pdf
- 中国枸椽酸行业市场规模及未来投资方向研究报告.pdf
- 中国枸橼酸铋雷尼替丁胶囊行业市场规模及未来投资方向研究报告.pdf
- 中国枸橼酸钙咀嚼片行业市场规模及未来投资方向研究报告.pdf
- 中国枸橼酸氯吡林行业市场规模及未来投资方向研究报告.pdf
- 中国柑饼行业市场规模及未来投资方向研究报告.pdf
- 中国枸橼酸氯己定口胶行业市场规模及未来投资方向研究报告.pdf
- 中国柴油机离心水泵机组行业市场规模及未来投资方向研究报告.pdf
- 中国柴油机系列混凝土泵行业市场规模及未来投资方向研究报告.pdf
最近下载
- 人教版道德与法治三年级下册第3课《一切靠劳动》 课件.pptx VIP
- 建设银行供应链金融业务的战略突破与创新发展.docx
- 大赛独家代理授权合作协议范文.docx VIP
- 抗高压药物行业调研报告.pptx
- 人教版中考数学知识点总结.pdf VIP
- 宣贯培训(2026年)《GBT 39559.2-2020城市轨道交通设施运营监测技术规范 第2部分:桥梁》.pptx VIP
- 来实SEAM-LOK75直立锁边板手册-BlueScope.PDF VIP
- Formel-Q-V8(质量能力-软件).pdf VIP
- 《300MW汽轮发电机组厂用电设计论文》.doc VIP
- 《工程伦理》教案全套-教学设计.docx
原创力文档

文档评论(0)