第9章结构体共-用体与枚举类型.pptVIP

  1. 1、本文档共87页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章 结构体、共用体与枚举类型 本章要求 为什么要引入结构体,结构体与数组有什么本质不同? 如何定义结构体,有几种定义形式? 结构体变量与结构体指针变量有何区别,它们如何各自引用结构体成员? 结构体数据如何作为函数的参数? 为什么要引入链表,如何利用链表对内存进行动态管理? 本章重点 结构体变量的定义和使用 链表的概念 本章难点 动态链表的常见操作 第9章 结构体、共用体与枚举类型 9.1 问题的提出与示例 9.2 结构体类型的说明与变量定义 9.3 结构体指针变量 9.4 结构体数组 9.5结构体与函数 9.6 链表与动态内存管理 9.7 结构体综合应用举例 9.1 问题的提出与示例 9.1.1 结构体概述 9.1 问题的提出与示例 下表是一张100个学生成绩管理表,要求计算并打印出每个学生的平均成绩。 9.1 问题的提出与示例 如果按照以前学过的数组方法,可以定义如下的多个数组并赋初值如下: int stu_id[100]={,; /*定义一维数组存放每个学生的学号*/ char stu_name[100][8]={“陈云”, “沈栋栋”, “易婷婷”, “谢浩杰”, “郑强”}; /*定义字符串数组存放每个学生的姓名*/ char stu_sex[100] ={‘m’ , ‘m’ ,‘f’ ‘m’, ‘m’}; /*定义字符数组存放每个学生的性别*/ int stu_year[100]={1989,1989,1990,1988,1988}; /*定义一维数组存放每个学生的出生年份*/ …….. 9.1问题的提出与示例 说明: 使用结构体数据,可将一个学生的数据有机组合起来,例中的stu是个结构体数组,stu[i]表第i个学生的数组,stu[i].num表第i个学生的学号,stu[i].name表第i个学生的姓名等。 结构体的每一个成员都是通过其名字来引用,引用形式如下: 结构体变量名. 成员名 结构体的引入为处理复杂的数据结构提供了有力的手段(如链表等),也为函数间传递一组不同类型的数据提供了方便。特别是对于数据结构比较复杂的大型程序提供了方便。 9.2结构体类型的说明与变量定义 9.2.1 结构体的声明 定义结构体类型的一般形式: struct 结构体名 { 结构成员1; 结构成员2; …… 结构成员n; }; 其中,struct为结构体定义的关键字,不能省略。结构体名由用户给定,即是定义的结构体类型名。用两个花括号括住的内容是该结构体中的各个成员,每个成员又有自己的数据类型,它们可以是整型、实型、字符型、指针或结构类型等,它们都应进行类型说明。 9.2结构体类型的说明与变量定义 有关结构体的几点说明: 结构体类型的定义只是说明了一种结构体的组织形式,在编译时并不为它分配存储空间。只是在定义结构体类型变量后,才为变量按照其组织形式分配内存空间。 结构体的成员可以是简单变量、数组、指针,还可以是另一个已定义的结构体或共用体变量。当定义一个结构体的成员又是一个结构体类型,这称为结构体的嵌套定义。 struct date { int year; int month; int day; }; 9.2结构体类型的说明与变量定义 结构体定义可以在函数内部,也可在函数外部。在函数内部定义的结构体,只有在函数内部使用,在函数外部定义的结构体,从定义点起到源文件尾之间的所有函数都可使用。 结构体成员的名字可以同程序中的其他变量名相同,两者的意义不同,不会相混。 9.2结构体类型的说明与变量定义 9.2.2 结构体变量定义 先说明结构体类型,再定义变量 9.2结构体类型的说明与变量定义 在声明类型的同时定义变量 struct 结构体名 { 成员列表; }变量名表列; struct student { int num; char name[20]; char sex; int age; float score; }stu1,stu2; 9.2 结构体类型的说明与变量定义 直接定义结构类型变量 struct { 成员表列; }变量名表列; struct { int num; char name[20]; char sex; int age; float score; }stu1,stu2; 9.2 结构体类型的说明与变量定义 对结构体变量,系统要为其分配存储空间。一个结构

文档评论(0)

jdy261842 + 关注
实名认证
文档贡献者

分享好文档!

1亿VIP精品文档

相关文档