C面向对象chap结构体共同体和枚举类型.pptx
《C面向对象chap结构体共同体和枚举类型.pptx》由会员分享,可在线阅读,更多相关《C面向对象chap结构体共同体和枚举类型.pptx(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1struct 结构体名结构体名 成员列表成员列表 ;struct student int num;char name20;char sex;char addr30;结构体名关键字不同数据不同数据类型组成类型组成的的成员成员分号不能少第1页/共30页2定义结构体类型变量的方法定义结构体类型变量的方法一、先定义结构体类型再定义变量名一、先定义结构体类型再定义变量名struct student int num;char name20;char sex;int age;float score;char addr30;struct student student1,student2;结构体类型名变量1
2、变量2结构体类型只是一种数据结构体类型只是一种数据类型,不占内存空间,只类型,不占内存空间,只有定义结构体类型有定义结构体类型变量变量时时才开辟内存空间。才开辟内存空间。第2页/共30页3#define STUDENT struct student STUDENT int num;char name20;char sex;int age;float score;char addr30;STUDENT student1,student2;凡是凡是STUDENT的地的地方都用方都用struct student 机械替换。机械替换。第3页/共30页4二、在定义类型的同时定义变量二、在定义类型的同时定
3、义变量struct student int num;char name20;char sex;int age;float score;char addr30;student1,student2;struct struct 结构体名结构体名 成员列表成员列表 变量名列表;变量名列表;紧接着定义变量第4页/共30页5三、直接定义结构体类型变量三、直接定义结构体类型变量struct int num;char name20;char sex;int age;float score;char addr30;student1,student2;struct 成员列表成员列表 变量名列表;变量名列表;不出现
4、结构体名。不出现结构体名。第5页/共30页62 2、在编译时,仅对、在编译时,仅对变量变量分配空间,不对分配空间,不对类型类型分配分配空间。空间。1 1、结构体类型的变量在内存、结构体类型的变量在内存依照其成员的顺序依照其成员的顺序顺顺序排列,所占内存空间的大小是其全体成员所占空序排列,所占内存空间的大小是其全体成员所占空间的间的总和总和。3 3、对结构体中各个成员可以单独引用、赋值,其、对结构体中各个成员可以单独引用、赋值,其作用与变量等同。作用与变量等同。格式:格式:变量名变量名 .成员名成员名 student1.numstudent1.num第6页/共30页74 4、结构体的成员可以是另
5、一个结构体类型。、结构体的成员可以是另一个结构体类型。struct date int month;int day;int year;struct student int num;char name20;struct date birthday;成员类型成员名5 5、成员名可以与程序中的变量名相同,二者分占不同的内、成员名可以与程序中的变量名相同,二者分占不同的内存单元,互不干扰。例如,在程序中仍可以定义变量存单元,互不干扰。例如,在程序中仍可以定义变量 int num;int num;第7页/共30页8结构体类型变量的引用结构体类型变量的引用1 1、不能对结构体变量整体赋值或输出,只能分别对、
6、不能对结构体变量整体赋值或输出,只能分别对各个成各个成员员引用。引用。cinstudent1;cinstudent1;cinstudent1.num;student1.num=100;cinstudent1.num;student1.num=100;可以将一个结构体变量可以将一个结构体变量整体整体赋给另外一个相同类型的结构赋给另外一个相同类型的结构体变量。体变量。student2=student1;student2=student1;2 2、嵌套的结构体变量必须逐层引用。、嵌套的结构体变量必须逐层引用。student1.student1.birthday.birthday.dayday=25;
7、=25;3 3、结构体变量中的成员可以同一般变量一样进行运算。、结构体变量中的成员可以同一般变量一样进行运算。student1.birthday.day+;student1.score+=60;student1.birthday.day+;student1.score+=60;错误必须用成员名引用第8页/共30页9对局部变量类型的结构体变量初始化对局部变量类型的结构体变量初始化void main(void)struct student long int num;char name20;char sex;char addr30;student1=901031,“Li Lin”,M,“123 Be
8、ijing Road”;coutstudent1.nameendl;输出:输出:LiLin对变量初始化,一一赋值第9页/共30页10关于结构类型变量的使用,说明以下几点关于结构类型变量的使用,说明以下几点:1 1、同类型的结构体变量之间可以直接赋值。这种、同类型的结构体变量之间可以直接赋值。这种赋值等同于各个成员的依次赋值。赋值等同于各个成员的依次赋值。2 2、结结构构体体变变量量不不能能直直接接进进行行输输入入输输出出,它它的的每每一一个个成成员员能能否否直直接接进进行行输输入入输输出出,取取决决于于其其成成员员的的类类型型,若若是是基基本本类类型型或或是是字字符符数数组组,则则可可以以直直
9、接接输输入入输出。输出。3 3、结结构构体体变变量量可可以以作作为为函函数数的的参参数数,函函数数也也可可以以返返回回结结构构体体的的值值。当当函函数数的的形形参参与与实实参参为为结结构构体体类类型型的的变变量量时时,这这种种结结合合方方式式属属于于值值调调用用方方式式,即即属属于值传递。(举例说明)于值传递。(举例说明)第10页/共30页11结构体数组结构体数组结构体数组中的结构体数组中的每个元素都是一个结构体类型的变每个元素都是一个结构体类型的变量量,其中包括该类型的各个成员。数组各元素在内,其中包括该类型的各个成员。数组各元素在内存中连续存放。存中连续存放。第11页/共30页12一、结构
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 chap 结构 共同体 枚举 类型
限制150内