C语言程序设计 王建国 陈惠明 第6章 结构体与共用体新.pptVIP

C语言程序设计 王建国 陈惠明 第6章 结构体与共用体新.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 结构体与共用体 本章讲解 1.结构体类型 2.共用体与枚举类型 3.链表 4.结构体的综合应用 第6章结构体育共用体 6.1结构体类型 6.2共用体与枚举类型 6.3链表 6.4结构体综合应用 6.5本章小结 6.1结构体类型 数组可以处理同一类型的批量数据,而一组相关的数据往往具有不同的数据类型,例如,一名学生的成绩信息至少包含学号、姓名、班级、数学、语文、英语等信息,其学号可以是整型或字符型,姓名为字符型,班级为字符型,3门成绩为整型或浮点型。而一名学生的这一组信息又是相关联的,经常作为一个整体进行操作,C语言中给出了另一种构造数据类型--结构体类型,可以解决这样的问题。 6.1.1 结构体类型的定义和使用 1.结构体类型的定义 定义一个结构体类型的一般形式为: struct [结构体类型名] { 成员表列 }; 成员表列由若干个成员组成,每个成员都是该结构体的一个组成部分,对每个成员也必须作类型说明,其形式为: 类型说明符 成员名; 其中“struct”是保留字,是定义结构体类型的开始标志,成员名的命名应符合标识符的书写规定。 2. 结构体类型变量的定义 结构体是一种自定义的数据类型,它的用法与基本数据类型的用法相同,需要两个步骤: (1)结构体类型变量的定义; (2)结构体类型变量的引用。 C语言提供了三种定义结构体类型变量的方式: (1)先定义结构体类型,再定义结构体类型变量。 (2)在定义结构体类型的同时说明结构体类型变量。 这种方法说明变量的一般形式为: struct 结构体类型名 { 成员表列 }变量名1[,变量名2[,变量名3…]]; (3)直接定义结构体类型变量。 可以不给出结构体类型名而直接定义结构体类型变量 3. 结构体变量的引用 对结构体类型变量的引用是通过对结构体类型变量的成员的引用来实现的。 引用结构体成员的一般形式为: 结构体变量名.成员名 4. 结构体类型变量的初始化 在说明结构体类型变量的同时可以进行初始化,对结构体类型变量进行初始化的一般形式为: struct 结构体类型名 变量名={成员值列表}; 5. 类型定义符 C语言不仅提供了丰富的数据类型,而且还允许由用户自己定义类型说明符,也就是说允许由用户为数据类型取“别名”,类型定义符typedef可用来完成此功能。 其说明格式为: typedef 原类型名 新类型名; 【案例6.1】通过键盘输入n名学生的基本信息,包括:学号、姓名、出生日期、性别、班级,查找并输出在给定日期以后过生日的同学信息。 案例算法描述如图所示: 输入N个学生的信息到s[N]中 输出显示输入的学生信息s[N] 输入要查询的日期date s[i].birthday.monthdate.month 当 i n时 s[i].birthday.month==date.month s[i].birthday.daydate.day Y N Y Y N N 输出s[i]所有成员信息 输出s[i]所有成员信息 案例6.1的N-S图 i=0 i=i+1 6.1.2 指向结构体类型数据的指针 一个指针变量当用来指向一个结构体类型变量时,称之为结构体指针变量。结构体指针变量中的值是结构体类型变量的首地址,通过结构体指针可访问结构体变量,这与数组指针的情况是相同的。 结构指针变量说明的一般形式为: struct 结构体类型名 *结构体指针变量名 有了结构体指针变量,就能更方便地访问结构体变量的各个成员。 其访问的一般形式为: (*结构体指针变量名).成员名 或为: 结构体指针变量-成员名 6.2共用体与枚举类型 共用体是与结构体类型类似的一种数据类型,其区别在于共用体中所有成员共享一段内存,因此它可以提高空间的利用效率。 6.2.1共用体 共用体定义的一般形式为: union [共用体名] { 成员列表 }; 成员表列由若干个成员组成,每个成员都是该共用体的一个组成部分。对每个成员也必须作类型说明,其形式为: 类型说明符 成员名; 6.2.2枚举类型 枚举是用标识符表示的整型常量的集合,其作用是增加程序的可读性。 枚举类型定义的一般形式为: enum 枚举类型名 { 枚举值列表 }; 其中,enum是保留字,在枚举值列表中应罗列

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档