第九章结构体、共用体与枚举类型课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第九章结构体、共用体与枚举类型课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第九 结构 共用 枚举 类型 课件
- 资源描述:
-
1、第九章 结构体、共用体与枚举类型 张乐乐C语言程序设计9.1.1 9.1.1 结构体类型的结构体类型的定义定义 struct 结构体名结构体名 数据类型数据类型1 成员名成员名1;数据类型数据类型2 成员名成员名2;数据类型数据类型n 成员名成员名n;/*此行的分号不能少此行的分号不能少*/结构体类型定义的一般形式:结构体类型定义的一般形式:lstructstruct为关键字;为关键字;l结构体名结构体名是用户定义的是用户定义的类类型标识型标识。l 中是组成该结构体的中是组成该结构体的成员成员。成员的。成员的数据类型数据类型可可以是以是C语言所允许的任何语言所允许的任何数据类型数据类型。9.1
2、.1 9.1.1 结构体类型的结构体类型的定义定义struct student long num;char name20;char sex;int age;float score;char addr30;例例9.1:定义学生档案信息:定义学生档案信息结构类型结构类型:成员表列成员表列 struct是类型是类型关键字关键字后分号不能少,后分号不能少,表明语句结束。表明语句结束。结构体名结构体名9.1.1 9.1.1 结构体类型的结构体类型的定义定义 2.结构体类型特点结构体类型特点:(1)(1)结构体类型由多个成员组成,成员的数据类型可以是结构体类型由多个成员组成,成员的数据类型可以是整型、实型
3、、字符型、数组整型、实型、字符型、数组 ,也允许是另一个已经定义的,也允许是另一个已经定义的结构体类型。结构体类型。(2)(2)结构体类型系统没有预先定义,凡需要使用结构体类结构体类型系统没有预先定义,凡需要使用结构体类型数据的,都必须在程序中自己定义。可根据设计者的需型数据的,都必须在程序中自己定义。可根据设计者的需要来组合的。要来组合的。(3)(3)定义一个结构体类型,系统不会为其分配内存单元。定义一个结构体类型,系统不会为其分配内存单元。定义一个类型只是表示这个类型的结构,即告诉系统它定义一个类型只是表示这个类型的结构,即告诉系统它由由哪些类型的成员构成,哪些类型的成员构成,各占多少个字
4、节,各按什么形式存各占多少个字节,各按什么形式存储,并把它们当作一个整体来处理。储,并把它们当作一个整体来处理。9.1.2 9.1.2 结构体变量结构体变量-(1)先定义结构体类型再定义变量名先定义结构体类型再定义变量名l语法格式语法格式:struct 结构体名结构体名 变量名表;变量名表;例如:例如:struct date date1;struct student s,t1,t2;按照结构体类型的组成,系统为定义的结构体变量按照结构体类型的组成,系统为定义的结构体变量分配内存单元。结构体变量的各个成员在内存中占用连分配内存单元。结构体变量的各个成员在内存中占用连续存储区域,续存储区域,结构体
5、变量结构体变量所占内存所占内存结构体中结构体中每个每个成员成员所占用内存的所占用内存的长度之和长度之和。struct studentnum4个字节个字节name20个字节个字节sex1个字节个字节age2个字节个字节addr30个字节个字节score4个字节个字节9.1.2 9.1.2 结构体变量结构体变量-(2)在定义类型的同时定义变量在定义类型的同时定义变量l语法格式语法格式:例如:例如:struct student char num8,name20,sex;int age;float score;st1,st2;struct 结构体名结构体名 成员定义表;成员定义表;变量名表;变量名表;
6、9.1.2 9.1.2 结构体变量结构体变量-(3)直接定义结构类型变量直接定义结构类型变量l语法格式语法格式:例如:例如:struct char num8,name20,sex;int age;float score;a,b,c;struct 成员定义表;成员定义表;变量名表;变量名表;在 struct 后不出现结构体名,因此也不能再以此定义相同的结构体变量。9.1.3 9.1.3 结构体变量的结构体变量的引用引用对于结构体变量,要通过成员运算符对于结构体变量,要通过成员运算符“.”“.”,逐个,逐个访问其成员,访问的格式为:访问其成员,访问的格式为:结构变量名结构变量名.成员成员 例如,s
7、truct student st1,st2;st1.num,引用结构变量st1中的num成员;st1.name 引用结构变量st1中的name成员,st2.name 引用结构变量st2中的name成员,也可以引用结构体变量以及变量成员的地址例如,&st1&st1.name其中的其中的“.”是是成员运算符成员运算符9.1.3 9.1.3 结构体变量的结构体变量的引用引用 如果某成员本身又是一个结构类型,则只能通过多如果某成员本身又是一个结构类型,则只能通过多级的分量运算,对最低一级的成员进行引用。级的分量运算,对最低一级的成员进行引用。此时的引用格式扩展为:此时的引用格式扩展为:结构变量名结构变
8、量名.成员成员.子成员子成员.最低一级子成员最低一级子成员例如,例如,引用结构变量引用结构变量st1中的中的birthday成员的格式分别成员的格式分别为:为:st1.birthday.yearst1.birthday.monthst1.birthday.day9.1.4 9.1.4 结构体变量的结构体变量的初始化初始化【例】结构体变量的初始化【例】结构体变量的初始化 struct date int year,month,day;struct student char num8,name20,sex;struct date birthday;float score;a=“0406011,Li
展开阅读全文