c语言程序设计课件第8章

c语言程序设计课件第8章

ID:36322245

大小:790.00 KB

页数:32页

时间:2019-05-09

c语言程序设计课件第8章_第1页
c语言程序设计课件第8章_第2页
c语言程序设计课件第8章_第3页
c语言程序设计课件第8章_第4页
c语言程序设计课件第8章_第5页
资源描述:

《c语言程序设计课件第8章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、高级语言程序设计2021/7/141第八章结构、联合、枚举主讲:计算机学院朱立华内容提要本章介绍3种用户自定义类型:结构、联合、枚举需要掌握这几种用户自定义类型的以下知识:为什么要定义这种类型,是为了适合何种数据存储与处理需要的该类型定义的形式该类型的变量在内存中占用空间的形式及其访问方式重点是结构类型,对该类型还应掌握以下知识:该类型的嵌套定义,其不同层次成员的访问方式在结构中的同名问题结构数组与结构指针的使用(处理一批记录)结构类型在函数中的使用:形参的设定,返回值等问题一些常用算法在结构中的实现(如排序)2021/7/143结构——类型定义为什么需要结构类型:有的时候需要一组相关的信息

2、表示同一个对象,例如一个学生的信息包括:学号、姓名、性别、成绩等,这些数据项的类型不一定一致,即使是同一种类型也会对应不同的意义,因此需要将它们作为一个变量的成员组成一个整体。此前所学的标准类型及数组和指针类型都无法满足这一需求结构类型的定义格式:struct结构类型名{结构体成员表列;};此关键字为定义结构类型的起始标志结构类型名必须是用户自定义标识符一对大括号必须有,其间是该结构体类型的各个成员必须以分号结束成员列表的形式:成员类型名成员名;相同类型的成员名可以共用一个成员类型名2021/7/144结构——类型定义结构类型的定义举例:structDate//表示日期的结构{intyr;/

3、/年intmo;//月intda;//日};structStudent//表示学生信息的结构{longunsignedid;//学号doublegrades;//成绩};intyr,mo,da;//年月日类型相同可用一个类型标识符类型不一致的成员必须分别定义2021/7/145结构变量的定义结构类型定义后,struct结构类型名就作为结构类型名使用,可以定义该类型的变量,有3种形式:(1)先定义结构类型,再定义结构变量例:structDatedt;structStudentst;(2)在定义结构类型的同时定义结构变量,结构类型名不省略,将结构变量名写在结构类型定义结束的右大括号之后、分号之前

4、例:structDate//不省略结构类型名{intyr,mo,da;//年、月、日}dt;//定义结构变量dt(3)结构类型名省略结构类型名2021/7/146用typedef定义结构类型别名用typedef可以为一个结构类型定义别名,以方便定义结构类型的变量,定义结构类型别名也有3种形式:(1)先定义结构类型,再定义结构类型的别名:例:typedefstructDateDate;Datedt;(2)在定义结构类型的同时定义其别名,结构类型名不省略,将结构类型别名写在结构类型定义结束的右大括号之后、分号之前例:typedefstructDate//不省略结构类型名{intyr,mo,da;

5、//年、月、日}Date;//定义结构类型别名Date(3)结构类型名省略结构类型名给已经定义的类型structDate定义一个类型别名Date直接用Date作为结构类型名定义一个结构变量dt2021/7/147结构变量的访问结构变量的初始化:与其他类型的变量类似,结构变量在定义时也可以进行初始化,常用两种方式:(1)将初值用一对大括号括起,依次列出各个成员的值,所列出的值可以少于成员个数,默认用0填充例:Datedt1={2005,8,16};Datedt2={2009,4};(2)两个类型一致的结构变量可以用一个为另一个初始化例:Datedt4,dt3=dt1;结构变量在定义之后,可进行

6、赋值,满足以下要求:(1)两个类型一致的结构变量可以用一个为另一个赋值(2)注意:结构变量定义之后,不能再用各个成员的值给结构变量作整体赋值相当于:Datedt2={2009,4,0};用dt1来初始化dt3,这里的dt4未初始化例:dt4=dt1;例:Datedt;dt={2005,8,16};X2021/7/148结构变量成员的访问结构变量占用内存的方式:与数组很类似,一个结构变量的各个成员在内存中依次占用地址相邻的内存单元,因此一个结构变量所占的空间至少为其各个成员所需的内存空间之和结构变量与其成员的关系:结构变量是一组(成员)变量的整体标志,是“外衣”,其中的每一个成员变量(简称成员

7、)都是这个整体中的成分。引用结构变量成员的方式:必须从结构变量名开始,在其后加成员引用运算符“.”,再加成员名:例:Datedt1={2005,8,16};相当于:dt1.yr=2005;dt1.mo=8;dt1.da=16;2021/7/149结构变量成员的访问程序8.1结构变量成员的引用示例该例中用到了前面例子中的两个结构体类型:structStudent//表示学生信息的结构{longunsignedi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。