C-程序设计教程第7章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C-程序设计教程第7章.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 教程
- 资源描述:
-
1、本章内容提要7.1 结构体结构体7.2 共用体共用体7.3 枚举类型枚举类型7.4 typedef声明声明7.1 结构体结构体struct 结构体类型名结构体类型名成员类型成员类型1 成员名成员名1;成员类型成员类型2 成员名成员名2;成员类型成员类型n 成员名成员名n;定义结构体类型的一般形式为:定义结构体类型的一般形式为:n在定义结构体类型的同时定义变量在定义结构体类型的同时定义变量7.1.1 结构体变量的定义、初始化及使用结构体变量的定义、初始化及使用1结构体变量的定义结构体变量的定义struct 结构体类型名结构体类型名成员类型成员类型1 成员名成员名1;成员类型成员类型2 成员名成员
2、名2;成员类型成员类型n 成员名成员名n;变量名变量名1,变量名变量名2,变量名变量名n;n先定义结构体类型再定义变量先定义结构体类型再定义变量struct 结构体类型名结构体类型名 变量名变量名1,变量名变量名2,变量名变量名n;n直接定义结构体变量直接定义结构体变量struct成员类型成员类型1 成员名成员名1;成员类型成员类型2 成员名成员名2;成员类型成员类型n 成员名成员名n;变量名变量名1,变量名变量名2,变量名变量名n;2结构体变量的初始化结构体变量的初始化nstruct date int year;int month;int day;birthday1=1998,11,22,b
3、irthday2=2003,10,23;nstruct date int year;int month;int day;struct date birthday1=1998,11,22;date birthday2=2003,10,23;nstruct int year;int month;int day;birthday1=1998,11,22,birthday2=2003,10,23;3结构体变量的使用结构体变量的使用n结构体变量的运算结构体变量的运算具有相同类型的结构体变量可以进行赋值运算,但不能直具有相同类型的结构体变量可以进行赋值运算,但不能直接进行输入接进行输入/输出输出。n结构体
4、成员的使用结构体成员的使用结构体变量名成员名结构体变量名成员名例如例如:cout成员名成员名7.1.2 结构体数组的定义、初始化及使用结构体数组的定义、初始化及使用1结构体数组结构体数组的定义的定义nstruct date int year;int month;int day;birthday3;nstruct date int year;int month;int day;date birthday3;nstruct int year;int month;int day;birthday3;2结构体数组的初始化结构体数组的初始化struct date int year;int month;i
5、nt day;birthday3=1998,11,22,2003,10,23,2008,1,7;3结构体数组的使用结构体数组的使用结构体数组中的每个元素都是一个结构体类型数据。结构结构体数组中的每个元素都是一个结构体类型数据。结构体数组是通过下标变量引用结构体成员的体数组是通过下标变量引用结构体成员的。7.1.3 指向结构体变量的指针指向结构体变量的指针定义一个指向结构体变量的指针,那么该指针的值是结构体定义一个指向结构体变量的指针,那么该指针的值是结构体变量所占内存段的起始地址。通过指向结构体变量的指针,可以变量所占内存段的起始地址。通过指向结构体变量的指针,可以引用结构体变量中的成员:引用
6、结构体变量中的成员:指针变量名成员名指针变量名成员名;例如例如:struct date int year;int month;int day;birthday1,birthday2;date*p;/定义指向结构体类型定义指向结构体类型date的指针的指针pp=&birthday1;/将结构体变量的起始地址赋值给指针将结构体变量的起始地址赋值给指针pp-month=5;/通过指针引用结构体变量的成员,并为其赋值通过指针引用结构体变量的成员,并为其赋值7.1.4 结构体作为函数参数结构体作为函数参数n值传递值传递用结构体变量名作为函数的实参,将结构体变量中的内容用结构体变量名作为函数的实参,将结构
7、体变量中的内容全部顺序传递给形参。若在函数调用期间,形参的内容发生改全部顺序传递给形参。若在函数调用期间,形参的内容发生改变,将不会影响主调函数中相对应的实参。变,将不会影响主调函数中相对应的实参。n地址传递地址传递用指向结构体变量的指针作为函数实参,将结构体变量的用指向结构体变量的指针作为函数实参,将结构体变量的地址传递给形参。地址传递给形参。n引用传递引用传递用结构体变量的引用变量作为函数参数。用结构体变量的引用变量作为函数参数。7.2 共用体共用体union 共同体类型名共同体类型名成员类型成员类型1 成员名成员名1;成员类型成员类型2 成员名成员名2;成员类型成员类型n 成员名成员名n
8、;n在定义结构体类型的同时定义变量在定义结构体类型的同时定义变量7.2.1 共用体变量的定义与初始化共用体变量的定义与初始化例如:例如:union data int a;float b;char c;x=123;n先定义结构体类型再定义变量先定义结构体类型再定义变量例如:例如:union data float b;int a;char c;data y=12.3;n直接定义结构体变量直接定义结构体变量例如:例如:union char c;int a;float b;z=c;7.2.2 共用体变量的使用共用体变量的使用相同类型的共用体变量可以进行赋值运算,对共用体变量相同类型的共用体变量可以进行
9、赋值运算,对共用体变量中的成员可以进行各种运算。中的成员可以进行各种运算。共同体变量名成员名共同体变量名成员名例如:例如:x.a/引用共同体变量引用共同体变量x中的整型成员中的整型成员ay.b/引用共同体变量引用共同体变量x中的浮点型成员中的浮点型成员b7.3 枚举类型枚举类型如果一个变量只有有限个可能的取值,可以将这些值一一列如果一个变量只有有限个可能的取值,可以将这些值一一列举出来,定义为枚举类型。枚举类型是由若干个常量组成的有限举出来,定义为枚举类型。枚举类型是由若干个常量组成的有限集合。集合。enum 枚举类型名枚举类型名枚举常量列表枚举常量列表;例如例如:enum FruitAPPL
10、E,ORANGE,PEAR,GRAPE,PEACH;枚举元素是常量,其本身是有值的,如果枚举常量在定义时枚举元素是常量,其本身是有值的,如果枚举常量在定义时没有指定其对应的值,系统将按定义时的顺序自动为它们赋值。没有指定其对应的值,系统将按定义时的顺序自动为它们赋值。例如例如:enum FruitAPPLE=1,ORANGE=2,PEAR=3,GRAPE=4,PEACH=5;enum FruitAPPLE=4,ORANGE=0,PEAR,GRAPE,PEACH;7.3.1 枚举类型变量的定义与初始化枚举类型变量的定义与初始化n可以在定义枚举类型的同时定义枚举类型变量并初始化。可以在定义枚举类型
展开阅读全文