C语言(7结构体)ppt课件.ppt

C语言(7结构体)ppt课件.ppt

ID:59476223

大小:370.00 KB

页数:26页

时间:2020-09-14

C语言(7结构体)ppt课件.ppt_第1页
C语言(7结构体)ppt课件.ppt_第2页
C语言(7结构体)ppt课件.ppt_第3页
C语言(7结构体)ppt课件.ppt_第4页
C语言(7结构体)ppt课件.ppt_第5页
资源描述:

《C语言(7结构体)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、7结构体7.1结构体基础知识7.2结构体数组7.3结构体指针7.4链表7.5共用体与枚举9/7/20211思考:进步排行榜中,若要按解题总数生成排行榜,该如何实现?说明:简单起见,假设每个学生信息仅包括学号、解题总数;要求先输入n个学生的信息;然后按“解题总数”降序排列,若“解题总数”相同则按“学号”升序排列。讨论:怎么办?进一步思考:(1)采用多个一维数组的方法有什么问题?(2)能否把每个学生信息作为一个整体考虑呢?(3)怎么做?9/7/202127.1结构体基础知识结构体,也称结构,是被命名为一个标识符的各种不同类型变量的集合。结构是用户自定义类型,声明

2、好之后,可与int,double等基本数据类型同等看待。结构类型声明例:请声明学生结构,学生信息包含学号、解题总数。structStudent{charnumber[10];intsolved;};说明:(1)结构声明应以“;”结束。(2){}中的各个量称为结构的数据成员(域、成员变量)。9/7/202137.1.2结构变量的定义和初始化定义结构体变量(1)先声明结构,再用结构定义变量。structStudent//声明类型{charname[10];intscore;};structStudents1,s2;//定义变量(2)直接定义变量,不给出结构名。s

3、truct{charname[10];intscore;}s1,s2;9/7/20214(3)在声明的同时定义变量。structStudent{charname[10];intscore;}s1,s2;说明:(1)只有在定义变量后,才为该变量开辟存储单元。结构变量所占的内存长度等于每个成员长度之和;(2)对结构体中的成员,可以单独使用,它的作用与地位相当于普通变量;(3)成员也可以是一个已定义的结构体类型变量;例如:9/7/20215structDate{intyear;intmonth;intday;};structStudent{charname[10]

4、;structDatebirthday;};9/7/20216结构变量的初始化structStudent{intnum;charname[20];charaddr[30];}stu={15001,"LiMing","123RoadBeijing"};注意:结构变量的初值用大括号{}括起来,大括号内各个成员变量的值之间用逗号分隔,其值必须与成员变量一一对应,且数据类型应与成员变量一致。9/7/202177.1.3结构变量的使用成员使用形式:结构体变量名.成员名“.”是成员运算符,在所有的运算符中优先级属于最高一级。例如:structStudent{charsn

5、o[10];doublescore;}s;strcpy(s.sno,"10001");s.score=95;9/7/20218输入输出(1)不能将一个结构体变量作为一个整体进行输入输出。(2)只能对结构体中的各个成员分别进行输入输出;例如:printf("%s%d",s.sno,s.score);scanf("%s",s.sno);(3)每个成员都是一个变量(称为成员变量),具有自己的数据类型,使用方法与同类型的变量相同。结构变量可以整体赋值;structStudents2=s;9/7/20219如果成员本身又属于一个结构体类型,则要用若干个成员运算

6、符,一级一级的找到最低一级的成员;例如:structDate{intyear;intmonth;intday;};structStudent{charname[10];Datebirthday;}s1;s1.birthday.year=1995;9/7/2021107.2结构体数组数组的每个元素都是结构类型的数据,它们分别包含各个成员项。结构数组的定义方法1:先声明结构类型,再定义数组structStudent{intsno;doublescore;};Studentstu[30];方法2:在声明结构类型的同时定义数组structStudent{intsno

7、;doublescore;}stu[30];9/7/202111方法3:在声明结构类型的同时定义数组,且不起结构类型名struct{intsno;doublescore;}stu[30];结构数组的初始化结构数组中的每个元素都是同类型的结构变量,初始化方法类似于结构变量。建议每个元素的初始化值用{}括起来,例如:Studentstu[2]={{1001,89.0},{1002,76.0}};9/7/202112结构数组应用举例例1:输入n个学生的姓名和3门功课成绩(整数),然后根据3门功课的平均成绩从高分到低分输出每个学生的姓名、3门功课成绩及平均成绩,若平

8、均分相同则按姓名的字典序输出。分析:结构体成员应有姓

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

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

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