- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十一章 结 构 体 提出问题 在我们定义变量的时候,有时一些不同类型的变量需要组合成一个整体,便于引用 例如:我们要处理一个学生的信息,包括: 学号、姓名、性别、年龄、成绩、地址 按照以往定义变量的方式,我们可以这样定义: 声明结构体类型 结构体是一种构造数据类型 其目的是:把不同类型的数据组成一个整体属于用户自定义的数据类型 声明结构体类型 例如: 声明结构体变量 定义结构体类型的变量有三种方式 先定义结构体类型,再定义结构体变量 声明结构体变量 定义结构体类型的变量有三种方式 定义结构体类型的同时定义结构体变量 声明结构体变量 定义结构体类型的变量有三种方式 直接定义结构体变量 声明结构体变量 定义结构体类型的变量有三种方式的比较:第一种和第二种是等价的 声明结构体变量 第三种声明方式只说明了要定义的结构体变量的组织形式没有说明所定义的结构体类型名称,不能再次做变量声明 声明结构体变量 结构体类型与结构体变量概念不同 结构体类型:不分配内存,不能赋值、存取、运算 结构体变量:分配内存,能够赋值、存取、运算 结构体可嵌套 声明结构体变量 结构体成员名与程序中变量名可相同,不会混淆 引用结构体变量 引用结构体变量的规则 结构体变量不能整体引用,只能引用变量成员引用方式: 结构体变量名. 成员名 引用结构体变量 引用结构体变量的规则 结构体变量的成员可以进行该成员类型允许的所有运算 引用结构体变量 引用结构体变量的规则 可以引用结构体变量的成员的地址,也可以引用结构体变量的地址 引用结构体变量 引用结构体变量的规则 可以将一个结构体的值赋值给另一个结构体 引用结构体变量 引用结构体变量的规则 当结构体的成员也是一个结构体类型时,需要使用多个成员运算符,一级一级找到最低的一级成员,只能对最低级的成员进行赋值、存取及运算 引用结构体变量 引用结构体变量的规则 不能直接判断两个同类型的结构体变量是否相等必须判断其各成员 结构体数组 我们一共学习三种数组: 一般数组、指针数组、结构体数组 结构体数组是指:数组中的元素都是结构体类型的数据 它们分别包括各自的成员项 三种定义形式: 结构体数组 结构体数组的初始化 顺序初始化 结构体数组 结构体数组元素的应用结构体数组名[下标] . 成员名 结构体数组 统计候选人的选票: 定义结构体类型,其成员为候选人姓名和该候选人票数 定义该结构体数组,包含3个元素,分别为3个候选人 读入所有投票中的姓名,若名字与某候选人相符,则将该候选人的票数成员分量加1 最终输出票数结果 指向结构体类型数据的指针 指向结构体变量的指针定义形式: struct 结构体名 * 结构体指针变量名; 指向结构体类型数据的指针 使用结构体指针变量引用结构体成员结构体变量名.成员名 ? (*结构体指针名).成员名 ? 结构体指针名-成员名 指向结构体类型数据的指针 使用结构体指针变量引用结构体成员结构体变量名.成员名 ? (*结构体指针名).成员名 ? 结构体指针名-成员名 指向结构体类型数据的指针 指向结构体数组的指针 第十一章 结构体 主要内容 结构体类型的声明 结构体变量的定义 结构体数组 结构体指针的使用 要求掌握程序:例题 作业和上机 上机练习:教材P296 11.1,11.2,11.5 上机调试和运行 教材上的例题,上机实现 * int num; char name[20]; char sex; int age; float score; char addr[50]; 这些变量相互独立, 很难反映出它们的内在联系 struct student { }; 结构体 struct [结构体名] { 类型标识符 成员名; 类型标识符 成员名; …… }; struct 是关键字, 不能省略 合法标识符,可省略,无名结构体 成员类型可以是基本数据类型 或构造数据类型型 需要说明的是: 定义结构体,不是定义变量, 而是定义一种数据类型 所定义的结构体类型与系统 提供的标准数据类型(int 、 float、double、char等) 具有同样的作用和地位,都 可以用来声明变量的类型 不同的是:结构体类型需要 用户自己指定 struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; 声明结构体类型,只是描述了该类型数据的组织形式是对一种用户自定义的数据类
您可能关注的文档
最近下载
- 2025年合肥交通投资控股集团有限公司第一批次招聘38人笔试备考题库及答案解析.docx VIP
- 广东省执法证网上考试系统题库及答案(1267题) .pdf VIP
- 孕期常见身体不适的缓解方法.ppt VIP
- 《英语四六级词组》.doc VIP
- 英语四六级词组英语四六级词组.doc VIP
- 2023年《民法》基础精讲讲义(王立争).PDF VIP
- 安徽理工大学2023-2024学年第2学期《高等数学(下)》期末试卷(A卷)附标准答案.pdf
- 2024年合肥交通投资控股有限公司招聘116人笔试模拟试题及答案解析.docx VIP
- 英语完形填空450个高频词组.pdf VIP
- 小儿ECMO与危重症考试试题及答案.doc
文档评论(0)