C语言程序设计 教学课件 作者 易晓梅 赵芸 第9章 结构体共用体枚举.ppt

C语言程序设计 教学课件 作者 易晓梅 赵芸 第9章 结构体共用体枚举.ppt

ID:50351281

大小:1.61 MB

页数:71页

时间:2020-03-08

C语言程序设计 教学课件 作者 易晓梅 赵芸 第9章 结构体共用体枚举.ppt_第1页
C语言程序设计 教学课件 作者 易晓梅 赵芸 第9章 结构体共用体枚举.ppt_第2页
C语言程序设计 教学课件 作者 易晓梅 赵芸 第9章 结构体共用体枚举.ppt_第3页
C语言程序设计 教学课件 作者 易晓梅 赵芸 第9章 结构体共用体枚举.ppt_第4页
C语言程序设计 教学课件 作者 易晓梅 赵芸 第9章 结构体共用体枚举.ppt_第5页
资源描述:

《C语言程序设计 教学课件 作者 易晓梅 赵芸 第9章 结构体共用体枚举.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章结构体、共用体与枚举C语言程序设计本章要点嵌套结构体成员的引用指针形式引用结构体变量成员的方法动态链表建立、插入以及删除操作本章学习目标掌握结构体类型的定义掌握结构体变量和结构体数组的定义与使用掌握指向结构体类型指针的定义与使用掌握单向链表的定义与常用操作了解共用体与枚举类型的定义与使用第9章结构体、共用体与枚举我们已学习了基本类型的变量和构造数据类型数组,数组中存储的是相同类型的数据,这些数据类型初步满足了一些简单问题求解的数据存储问题。但更多问题中,一组数据的类型往往是不同的。例如一个学生的信息管理表,如教材199页表9-

2、1所示,包括学号、姓名、性别、年龄、成绩等,其类型依次为整型、字符型、字符型、整型、实型,这显然不能用一个数组表示。为了解决这个问题,C语言又提供了一种构造数据类型——“结构(structure)”或“结构体”,它允许将不同类型的数据存储在一起。它相当于其他高级语言中的记录。9.1定义结构体类型3结构体类型定义的一般形式如下:struct结构体类型名{成员表列;};9.1定义结构体类型4例如,表示一个学生基本信息的结构体类型可以定义如下:structstudent{intnum;charname[20];charsex;intage

3、;floatscore;};9.1定义结构体类型5结构体类型名五个成员说明:(1)struct是关键字,表示是一个结构体类型;花括号外的分号不可省略;(2)结构体名遵循C语言标识符命名规则取名,这里student为用户自定义的结构体类型名。类型与变量是不同的概念。只能对变量赋值、存取或运算,不能对一个类型赋值、存取或运算。在编译时,系统对变量分配存储空间,对类型是不分配的。(3)花括号内的成员列表说明组成该结构体的各个成员及其类型,其说明格式为:类型说明符成员名;一个结构体类型中的各成员名不可互相重名,但不同结构体类型的成员可以重名

4、,并且结构体的成员名还可以与程序中的变量重名。9.1定义结构体类型6(4)结构体成员的类型也可以使用另外一个结构体类型,即结构体类型可以嵌套定义。structdate{intyear;intmonth;intday;};structstudent{intnum;charname[20];charsex;structdatebirthday;/*成员birthday的类型为structdate类型*/floatscore;};9.1定义结构体类型79.2.1结构体变量的定义用户自定义的结构体类型后,可定义结构体类型的变量。结构体变量同

5、其他类型的变量一样,必须先定义后引用。定义结构体变量有三种方法。9.2定义和使用结构体变量8(1)先定义结构体类型,再定义结构体变量。其一般形式如下:struct结构体名变量名表;前面已定义结构体类型structstudent,现在定义该类型的变量。例如:structstudent{intnum;charname[20];charsex;intage;floatscore;};structstudentstu1,stu2;9.2.1结构体变量的定义9这里声明了两个变量stu1和stu2为student结构类型,各自有5个结构体成员,

6、在内存中各占29字节(2+20+1+2+4=29)。也可以用宏定义使一个符号常量来表示一个结构类型。例如:#defineSTUstructstudentSTU{intnum;charname[20];charsex;intage;floatscore;};STUstu1,stu2;9.2.1结构体变量的定义10(2)定义结构体类型的同时定义结构体变量。struct结构体类型名{成员列表;}变量名列表;例如:structstudent{intnum;charname[20];charsex;intage;floatscore;}stu

7、1,stu2;9.2.1结构体变量的定义11(3)直接定义结构体变量。struct{成员列表;}变量名列表;例如:struct{intnum;charname[20];charsex;intage;floatscore;}stu1,stu2;9.2.1结构体变量的定义12该形式不指明结构体类型名而直接定义结构体变量,且只定义一次该类型的结构体变量。无结构体名的结构体类型是无法重复使用的。在结构体变量的定义语句中,既可以定义结构体变量,也可以定义任意个结构体指针变量、结构体数组和结构体指针数组,定义时用逗号分开,以分号结束。例如:st

8、ructstudent{intnum;charname[20];charsex;intage;floatscore;};structstudentstu1,stu2[5],*stu3,*stu4[5];9.2.1结构体变量的定义13和

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

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

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