欢迎来到天天文库
浏览记录
ID:12770573
大小:23.00 KB
页数:3页
时间:2018-07-18
《第十一章 结构体与共同体》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第十一章结构体与共同体11.1概述1.结构体是一种构造数据类型。用途:把若干相互关联的、不同类型的数据组合成一个整体。自定义数据类型。2.结构体类型声明struct[结构体名]{类型成员名;类型成员名;…………….};11.2定义结构体类型变量的方法1.先声明结构体类型,再定义结构体变量。定义形式:struct[结构体名]{类型成员名;类型成员名;…………};struct结构体名变量名表列;2.在声明结构体类型的同时定义结构体变量。定义形式:struct[结构体名]{类型成员名;类型成员名;…………}变量
2、名表列;3.直接定义结构体变量。注意:无名结构体直接定义变量只能一次。关于结构体类型和结构体变量的说明类型与变量概念不同。只能对变量赋值、存取或运算;不能对类型赋值、存取或运算。编译时,对类型不分配空间,只对变量分配空间。结构体成员可以与程序中的变量同名。结构体成员也可以是一个结构体变量(嵌套)。11.3结构体变量的引用1.规则:不能整体引用结构体变量,只能引用变量成员。2.引用形式:结构体变量名.成员名;11.4结构体变量的初始化1.编译时,按各成员在结构体中的先后顺序为结构体变量分配连续内存空间。初始
3、化方式类似数组。11.5结构体数组1.11.6指向结构体类型数据的指针1.可以定义一个指针变量用来指向某个结构体变量,此时该指针变量的值是此结构体变量所占的内存段的起始地址。定义形式:struct结构体名*结构体指针变量名;指针访问结构体成员的方法:1.结构体指针变量名->成员名2.(*结构体指针变量名).成员名结构体指针变量也可用来指向结构体数组。11.7用指针处理链表1.链表概述链表是一种重要的数据结构,由一个头指针变量和一系列结点构成。每个结点都包括两部分:实际数据和下一结点的地址。结构体变量因其自
4、身的特点最适合作为链表的结点。一个指针类型的结构体成员也可以指向自己所在的结构体类型的数据。11.8共同体1.共用体是一种构造数据类型。若干不同类型的变量组合成一个整体,共占一段内存(相互覆盖)单元。自定义数据类型。2.共用体类型声明union[共用体名]{类型成员名;类型成员名;…………….};共用体类型声明仅描述结构的组织形式,不分配内存。3.共用体变量引用共用体变量引用与结构体类似,有下面三种方式:共用体变量名.成员名;共用体指针名->成员名;(*共用体指针名).成员名;注意:不能引用共用体变量,只
5、能引用其成员。共用体变量中起作用的成员是最后一次存放的成员。应注意共用体变量的当前值。不能在定义共用体变量时初始化。共用体可嵌套于结构体中。11.9枚举1.枚举是一种构造数据类型。用途:将变量的值一一列举出来,变量的值只限于元素表所列举出来的取值范围内。枚举的声明形式:enum枚举名{枚举元素表};枚举变量的定义形式:enum枚举名变量表;enum枚举名{枚举元素表}变量表;注意:在C编译中,对枚举元素按常量处理,故称枚举常量。不能对他们赋值。枚举元素默认值按定义时的顺序依次为0,1,2,…也可以在定义时
6、改变枚举元素的值。不能给一个枚举变量赋一个整数值。枚举值可以用来做判断比较。11.10用typedef定义类型1.用途:简化结构体、共用体等构造类型的类型说明。类型定义的一般形式:typedef原类型名新类型名;例:typedefstructstudent{intnum;charname[20];charsex;intage;}STU;STUstu1,stu2;typedefchar*CP;CPpoint1;
此文档下载收益归作者所有