第12章 结构体和联合体_第1页
第12章 结构体和联合体_第2页
第12章 结构体和联合体_第3页
第12章 结构体和联合体_第4页
第12章 结构体和联合体_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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 学生学籍表,12.1 结构体,12.1.2 结构体类型的定义结构体类型的定义一般形式如下: struct 结构体名 成员列表; 成员表列的定义格式如下: 类型说明符 变量名; struct student int num; char name20; float score; char department20; ;,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 studentint num; /*学号*/char name20; /*姓名*/float score; /*成绩*/char department20; /*系别*/stu4=10001,”陈冲”,87.5,”计算机系”, 10006,”章艳”,79.5,”英语系”, 10007,”刘鹏”,68,”化学系”, 10008,”任红艳”,82.5,”电子系”;,12.2 结构体数组,12.2.4 结构体数组应用举例【例12_3】有一个学生成绩表,包括学号、姓名、语文成绩、数学成绩、英语成绩和平均成绩。如表12.2所示。先输入每个学生的学号、姓名、语文成绩、数学成绩和英语成绩,然后求出每个学生的平均成绩。根据平均成绩进行排序,最后输出排好序的学生成绩表。,12.3 指针与结构体,12.3.1 指向结构体变量的指针【例12_4】定义一个结构体变量并用一个指针指向该变量,输出指针指向的结构体变量的值。,12.3 指针与结构体,12.3.2 指向结构体数组的指针 【例12_5】定义一个结构体数组stu4并赋初值,然后利用指针变量指向该变量,并利用指针变量输出数组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使用typedef为指针类型重新命名4使用typedef为用户自己定义的数据类型重新命名,12.4 typedef类型定义,12.4.2 使用typedef应注意的问题,12.4 typedef类型定义,12.4.3 typedef的应用举例【例12_9】请输入年、月、日,编写程序求它是当年的第几天。,12.5 联合体,12.5.1 为什么要有联合体节省内存,多选一12.5.2 定义联合体,12.5 联合体,12.5.3 引用联合体变量12.5.4 使用联合体应该注意的问题12.5.5 联合体应用举例【例12_10】建立一个教师和学生基本情况登记表,其中,教师基本情况由编号、姓名、性别、年龄、职业和职称构成,学生基本情况由编号、姓名、性别、年龄、职业和班级构成。,12.6 枚举类型,12.6.1 为什么要有枚举类型变量的值只有有限的几种12.6.2 定义枚举类型及变量1先定义枚举类型,然后定义枚举类型的变量2定义枚举类型同时定义枚举类型的变量3定义枚举类型同时定义枚举类型的变量省略枚举类型名,12.6 枚举类型,12.6.3 使用枚举类型应注意的问题12.6.4 枚举类型应用举例【例12_11】枚举类型的应用。,12.7 本章小结,本章主要讲解了C语言中的3种用户自定义类型结构体、联合体、枚举类型。 本章的重点是结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论