C语言基础教程 教学课件 作者 张晓蕾 1_ 第7章 结构体 共用体与枚举 .ppt

C语言基础教程 教学课件 作者 张晓蕾 1_ 第7章 结构体 共用体与枚举 .ppt

ID:50320172

大小:186.50 KB

页数:30页

时间:2020-03-08

C语言基础教程 教学课件 作者 张晓蕾 1_ 第7章 结构体 共用体与枚举 .ppt_第1页
C语言基础教程 教学课件 作者 张晓蕾 1_ 第7章 结构体 共用体与枚举 .ppt_第2页
C语言基础教程 教学课件 作者 张晓蕾 1_ 第7章 结构体 共用体与枚举 .ppt_第3页
C语言基础教程 教学课件 作者 张晓蕾 1_ 第7章 结构体 共用体与枚举 .ppt_第4页
C语言基础教程 教学课件 作者 张晓蕾 1_ 第7章 结构体 共用体与枚举 .ppt_第5页
资源描述:

《C语言基础教程 教学课件 作者 张晓蕾 1_ 第7章 结构体 共用体与枚举 .ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章结构体、共用体与枚举结构体7.1链表及其应用7.2共用体7.3枚举7.47.1结构体7.1.1信息的表示7.1.2结构体定义与初始化1.结构体的定义结构体是一种复合的数据类型,它允许用其他数据类型构成一个结构类型,而一个结构类型变量内的所有数据可以作为一个整体进行处理。同数组类似,一个结构体也是若干数据项的集合,但与数组不同,数组中的所有元素都只能是同一类型的,而结构体中的数据项可以是不同的类型。结构体的定义形式如下:struct结构体标识名{类型成员变量名1;类型成员变量名2;类型成员变量名3;

2、…};2.结构体变量的初始化结构体类型变量同数组一样,也可以在定义时对其进行初始化,例如:structstudent{charname[8];intchinese;intmath;inteng;intaver;intcount;}s={"赵军",78,62,67,69,207};3.结构体变量的存储形式结构体变量作为一种变量,在定义时也会在内存中对其进行存储空间的分配,在为结构体变量分配内存空间时,形式与数组相似,是按结构体成员定义时的先后顺序连续分配的。如果在程序中定义了如下的结构体变量s:struc

3、tstudent/*定义学生结构体类型*/{charname[8];intchinese;intmath;inteng;intaver;intcount;}s;7.1.3结构体变量的引用与数组相似,引用结构体变量时通常是对结构体变量中的各个成员分别引用,对结构体的引用,大部分的操作都是引用结构体内的成员来完成的。结构体成员的引用方式有两种:通过“.”运算符引用和“−>”运算符引用。如下所示:结构体变量.成员名结构体变量指针−>成员名1.引用结构体变量“.”是结构体成员运算符,结构体通过成员运算符“.”引

4、用结构体成员。当结构体成员是普通变量或数组时,使用这种方法引用之后可进行各种运算。2.引用结构体指针如果定义的是结构体指针类型的变量,则可以通过“->”运算符引用。“->”是由减号和大于号组成的,当变量为指向结构体类型的指针变量时,可以采用这种方式对结构体成员变量进行引用。7.1.4自定义数据类型C语言中允许用关键字typedef来定义用户自定义的新数据类型,格式如下:typedef类型说明符标识符;使用typedef就可以将标识符定义为类型说明符所说明的数据类型,这种定义并不是定义一种新的数据类型,而

5、是将已有的数据类型取一个别名,以方便程序的读写。7.2链表及其应用7.2.1链表1.链表的定义链表是一种可以动态地进行存储空间分配的数据结构,其中,链表每个结点的数据结构是一个可以对自身类型进行引用的结构体。下面,将定义一个有学号和姓名数据的链表结构类型Stud。结构定义形式如下:typestructstudent{intnum;/*学号*/charname[8];/*姓名*/structstudent*next;/*定义可以指向结构体自身类型的指针*/}Stud;其中,next是一个指向结构体自身类型

6、的指针,可以存放一个相同类型的结构体的地址。从而可以把同类型的结构体通过指针连接起来,形成链表。如图7-4所示。图7-4链表结构2.动态分配存储空间C语言中提供了函数malloc(),可以动态地为建立链表分配内存空间,该函数在C语言头文件“stdlib.h”中声明。使用形式如下:指针变量=malloc(sizeof(数据类型));7.3共用体7.3.1共用体的定义与引用1.共用体的定义共用体的定义方式与结构体类似,共用体以关键字union来说明。共用体变量定义的一般形式如下:union共用体标识名{成员

7、列表;};2.共用体的引用共用体的引用方法与结构体相同,形式如下:共用体变量.成员名;共用体变量指针->成员名;3.结构与共用体的区别结构和共用体的定义和使用的方法相似,在使用中要注意以下几点。(1)结构和共用体都是由多个不同的数据类型成员组成的,但在任一时刻,共用体中只存放了一个被选中的成员,而结构的所有成员都存在。(2)对于共用体的不同成员赋值,将会对其他成员重写,原来成员的值就不存在了,而对于结构的不同成员赋值是互不影响的。(3)共用体的引用与结构体相同,只能逐个引用其中的成员,而不能对整体进行引

8、用。(4)共用体变量所占的内存空间等于其中最大的成员变量所占的内存空间。(5)共用体内存空间为所有成员共享,任一时刻只有最后一次存储的数据有效。(6)不能对共用体进行初始化,也不能用共用体变量作为函数的参数或返回值,在需要在函数间传递共用体时,只能用指向共用体的指针来实现。7.4枚举7.4.1枚举1.枚举的定义与引用当在程序设计中需要定义一些具有赋值范围的变量(如:星期、月份等)时,可以用枚举类型来定义。枚举是这样的一种数据类型:它的值有固

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。