第12章结构体与联合体.pptVIP

  1. 1、本文档共25页,可阅读全部内容。
  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文档。上传文档
查看更多
第12章结构体与联合体

* C语言入门与提高 第12章 结构体和联合体 12.1 结构体 12.2 结构体数组 12.3 指针与结构体 12.4 typedef类型定义 12.5 联合体 12.6 枚举类型 12.7 本章小结 第12章 结构体和联合体 12.1 结构体 12.1.1 为什么要有结构体 表12.1 学生学籍表 河北省石家庄市 水利系 09003 22 男 周强 河南省郑州市 土木工程系 07002 21 女 张艳 陕西省西安市 计算机系 07001 23 女 王春英 家庭住址 系别 班级 年龄 性别 姓名 12.1 结构体 12.1.2 结构体类型的定义 结构体类型的定义一般形式如下: struct 结构体名 { 成员列表; } 成员表列的定义格式如下: 类型说明符 变量名; struct student { int num; char name[20]; float score; char department[20]; }; 12.1 结构体 12.1.3 定义结构体变量 1.先定义结构体类型,然后定义结构体变量──类型和变量名分别定义 2. 定义结构体类型时并定义结构体变量──类型和变量名同时定义 3.偷点懒,省略结构体名──类型和变量名同时定义,但省略结构体名 12.1 结构体 12.1.4 引用结构体变量 1.引用结构体变量要逐个成员考虑 2.结构体变量也可以像普通变量一样参与各种运算 3.可以对结构体变量及成员取地址运算 4.嵌套类型的结构体的成员引用要使用结构体成员运算符逐层引用 12.1 结构体 12.1.4 结构体变量的初始化 1.无嵌套的结构体变量的初始化 (1)定义结构体类型和变量时,同时为变量赋初值。 【例12_1】在定义变量时直接为结构体变量赋初值。 12.1 结构体 2.嵌套格式的结构体变量初始化 【例12_2】嵌套格式的结构体变量初始化。 12.2 结构体数组 12.2.1 为什么要有结构体数组 12.2.2 定义结构体数组 (1)定义结构体类型同时定义数组。 (2)定义结构体类型之后定义数组。 12.2 结构体数组 12.2.3 结构体数组的初始化 struct student { int num; /*学号*/ char name[20]; /*姓名*/ float score; /*成绩*/ char department[20]; /*系别*/ }stu[4]={{10001,”陈冲”,87.5,”计算机系”}, {10006,”章艳”,79.5,”英语系”}, {10007,”刘鹏”,68,”化学系”}, {10008,”任红艳”,82.5,”电子系”}}; 12.2 结构体数组 12.2.4 结构体数组应用举例 【例12_3】有一个学生成绩表,包括学号、姓名、语文成绩、数学成绩、英语成绩和平均成绩。如表12.2所示。先输入每个学生的学号、姓名、语文成绩、数学成绩和英语成绩,然后求出每个学生的平均成绩。根据平均成绩进行排序,最后输出排好序的学生成绩表。 88 78 89 王梅 10104 79 94 91 王欢 10103 88 93 92 陈越 10102 87 88 78 张鹏 10101 平均成绩 英语成绩 数学成绩 语文成绩 姓名 学号 12.3 指针与结构体 12.3.1 指向结构体变量的指针 【例12_4】定义一个结构体变量并用一个指针指向该变量,输出指针指向的结构体变量的值。 12.3 指针与结构体 12.3.2 指向结构体数组的指针 【例12_5】定义一个结构体数组stu[4]并赋初值,然后利用指针变量指向该变量,并利用指针变量输出数组stu中的每个成员值。 12.3 指针与结构体 12.3.3 结构体变量和指向结构体的指针作为函数的参数 1.结构体变量作为函数的参数──实际参数和形式参数各占一块内存单元 【例12_6】结构体变量作为函数的参数。 12.3 指针与结构体 2.指向结构体变量的指针作为函数的参数──实际参数和形式参数是同一个内存单元 【例12_7】指向结构体变量的指针作为函数的参数。 12.3 指针与结构体 3.指向结构体数组的指针作为函数的参数 【例12_8】指向结构体数组的指针作为函数的参数。 12.4 typedef类型定义 12.4.1 typedef──为数据类型重新起个名字 1.使用typedef为基本数据类型重新命名 2.使用typedef为数组类型重新命名 3.使用ty

文档评论(0)

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

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

1亿VIP精品文档

相关文档