文档详情

成都理工大学-C++程序设计---第8章结构体与共用体(2).ppt

发布:2025-06-06约5.61千字共19页下载文档
文本预览下载声明

成都理工大学鲁红英授课提纲结构体类型结构体数组结构体指针变量结构体与函数共用体用typedef定义类型链表共用体:把不同类型的数据项组成一个整体的构造型数据。共用体类型定义的一般形式: union共用体名 {类型名1成员名1;类型名2成员名2; ┇ };共用体说明:(1)共用体变量的定义与结构体类似(三种方式)。例如:共用体uniondata{inti;floatf;charch;}a,b,c;uniondata{inti;floatf;charch;};uniondataa,b,c;union{inti;floatf;charch;}a,b,c;说明:(2)共用体与结构体不同是:共用体中的所有成员均放在同一地址开始的存储空间中,使用覆盖的方式共享存储单元。共用体所占空间的大小取决于占存储空间最大的那个成员。而结构体所占内存的长度为各成员所占内存之和。共用体说明:(3)共用体变量不能在定义时赋初值。(4)共用体变量的引用与结构体变量的引用相似。如果直接对共用体变量进行操作,用“.”运算符;如果共用体通过一个指针来引用,就使用“-”运算符。(5)共用体可以作为结构体的成员,结构体也可作为共用体的成员。共用体#includestdio.hintmain(void) {unionEXAMPLE{struct{intx;inty;}in;inta;intb;}e;e.a=2;e.b=4;e.in.x=e.a*e.b;e.in.y=e.a+e.b;printf(\n%d,%d,%d,%d,e.in.x,e.in.y,e.a,e.b);return(0);}e.ae.be.in.xe.in.y4字节4字节9-12.c共用体程序运行结果:16,32,16,16#includestdio.hintmain(void) {structEXAMPLE{union{intx;inty;}in;inta;intb;}e;e.a=2;e.b=4;e.in.x=e.a*e.b;e.in.y=e.a+e.b;printf(\n%d,%d,%d,%d,e.in.x,e.in.y,e.a,e.b);return(0);}9-12.c共用体程序运行结

显示全部
相似文档