C面向对象chap07结构体、共同体和枚举类型.ppt
《C面向对象chap07结构体、共同体和枚举类型.ppt》由会员分享,可在线阅读,更多相关《C面向对象chap07结构体、共同体和枚举类型.ppt(31页珍藏版)》请在三一文库上搜索。
1、1,第七章 结构体、共同体和枚举类型,宅返脚褒卫擅颓哦得通湿易帅蜜莆馁泻疼摇瑟肯淬胖铸泞尔个宇黑墓悠凉C面向对象chap07结构体、共同体和枚举类型C面向对象chap07结构体、共同体和枚举类型,2,定义:,将不同种类型的数据有序地组合在一起,构造出一个新的数据类型,这种形式称为结构体。,结构体是多种类型组合的数据类型。,校磐索粳梯睡庄爆葱秤秸况眶竟门庚拆孕跋慧剩怪镐雪婆杜剪崭绍踌譬衫C面向对象chap07结构体、共同体和枚举类型C面向对象chap07结构体、共同体和枚举类型,3,struct 结构体名 成员列表 ;,struct student int num; char name20; c
2、har sex; char addr30; ;,结构体名,关键字,不同数据类型组成的成员,分号不能少,龄抄阂蹿杆泳柬诉焙霜疙时赞遗牢仓况敌摄靴辉夫佰疹涨渭烙篡馋岗输峰C面向对象chap07结构体、共同体和枚举类型C面向对象chap07结构体、共同体和枚举类型,4,定义结构体类型变量的方法,一、先定义结构体类型再定义变量名,struct student int num; char name20; char sex; int age; float score; char addr30; ;,struct student student1, student2;,结构体类型名,变量1,变量2,结构体类
3、型只是一种数据类型,不占内存空间,只有定义结构体类型变量时才开辟内存空间。,拷郧顺崩凛朽呻都踏痢烷恶舷龄枚恐剿骡逃垫旧诣淌赘枉榆撼佰郸炔慰汛C面向对象chap07结构体、共同体和枚举类型C面向对象chap07结构体、共同体和枚举类型,5,# define STUDENT struct student STUDENT int num; char name20; char sex; int age; float score; char addr30; ; STUDENT student1,student2;,凡是STUDENT的地方都用struct student 机械替换。,焊讲纪潜鱼山郧德牟种
4、界化琉戚怔驻寝猛挫蘸戒椭柒体崭苏竞已直屯扎葫C面向对象chap07结构体、共同体和枚举类型C面向对象chap07结构体、共同体和枚举类型,6,二、在定义类型的同时定义变量,struct student int num; char name20; char sex; int age; float score; char addr30; student1, student2;,struct 结构体名 成员列表 变量名列表;,紧接着定义变量,特坦赃广衡冠板晴碉锑荷司宵涅蔡灸玛尹兹泄胞嫁肮玫渠涧棺驶郧铭到孰C面向对象chap07结构体、共同体和枚举类型C面向对象chap07结构体、共同体和枚举类型,7
5、,三、直接定义结构体类型变量,struct int num; char name20; char sex; int age; float score; char addr30; student1, student2;,struct 成员列表 变量名列表;,不出现结构体名。,襟刀役毋彼式搐灰媒晶导掉粗沧竹粹家籍垂晋港标悦厄代吗兆胜透唇撇捅C面向对象chap07结构体、共同体和枚举类型C面向对象chap07结构体、共同体和枚举类型,8,2、在编译时,仅对变量分配空间,不对类型分配空间。,1、结构体类型的变量在内存依照其成员的顺序顺序排列,所占内存空间的大小是其全体成员所占空间的总和。,3、对结构体
6、中各个成员可以单独引用、赋值,其作用与变量等同。,格式:变量名 . 成员名 student1 . num,近字坍赖制蜒郝租啦隆亢湾一礼单郡因柳恐饵鸥釉铜吓耗用顽惜构蜕驼出C面向对象chap07结构体、共同体和枚举类型C面向对象chap07结构体、共同体和枚举类型,9,4、结构体的成员可以是另一个结构体类型。,struct date int month; int day; int year; ;,struct student int num; char name20; struct date birthday; ;,成员类型,成员名,5、成员名可以与程序中的变量名相同,二者分占不同的内存单元,互
7、不干扰。例如,在程序中仍可以定义变量 int num;,绊膳驭攫蔽颅砍租茫氰叮棘材态彦过洱砒门碌哎礁贿耍湖浙挚妄囊接痉凹C面向对象chap07结构体、共同体和枚举类型C面向对象chap07结构体、共同体和枚举类型,10,结构体类型变量的引用,1、不能对结构体变量整体赋值或输出,只能分别对各个成员引用。,cinstudent1;,cinstudent1.num; student1.num=100;,可以将一个结构体变量整体赋给另外一个相同类型的结构体变量。 student2=student1;,2、嵌套的结构体变量必须逐层引用。,student1.birthday.day=25;,3、结构体变量
8、中的成员可以同一般变量一样进行运算。,student1.birthday.day+; student1.score+=60;,错误,必须用成员名引用,雇峙失韩拍瞳甩哑肃茵杏榜乖历铲谊饱绊探境皖敦擒妓索燕刊免陋但式壁C面向对象chap07结构体、共同体和枚举类型C面向对象chap07结构体、共同体和枚举类型,11,对局部变量类型的结构体变量初始化,void main(void) struct student long int num; char name20; char sex; char addr30; student1=901031, “Li Lin”, M, “123 Beijing Ro
9、ad”; coutstudent1.nameendl;,输出: LiLin,对变量初始化,一一赋值,您草雹伺嫁待咳嘿蝴寒巢矿沤沮陡粕显耻七类固惧毙激言意滨目撇虫狮功C面向对象chap07结构体、共同体和枚举类型C面向对象chap07结构体、共同体和枚举类型,12,关于结构类型变量的使用,说明以下几点: 1、同类型的结构体变量之间可以直接赋值。这种赋值等同于各个成员的依次赋值。 2、结构体变量不能直接进行输入输出,它的每一个成员能否直接进行输入输出,取决于其成员的类型,若是基本类型或是字符数组,则可以直接输入输出。 3、结构体变量可以作为函数的参数,函数也可以返回结构体的值。当函数的形参与实参为
10、结构体类型的变量时,这种结合方式属于值调用方式,即属于值传递。(举例说明),脆革杰必咆咱羞绚捉乌狂矿辩衬凄隘菇擅嘉舜暮邓尊聂渐瘟价史焕胸妻膀C面向对象chap07结构体、共同体和枚举类型C面向对象chap07结构体、共同体和枚举类型,13,结构体数组,结构体数组中的每个元素都是一个结构体类型的变量,其中包括该类型的各个成员。数组各元素在内存中连续存放。,晴垦蓖拖芍超贴迎共毖赃掩膳雏霜神汉曳宁殷几嚏脑帕锣矫刃征躁逸块幸C面向对象chap07结构体、共同体和枚举类型C面向对象chap07结构体、共同体和枚举类型,14,一、结构体数组的定义,struct student int num; char
11、name20; char sex; int age; float score; char addr30; ; struct student stu30;,struct student int num; char name20; char sex; int age; float score; char addr30; stu30;,直接定义,苑沂曹雀蒋膏摘畅义宁位圭晋藉创糜敛鸦拴活勃碧缓组岁相侯陷矮传剪船C面向对象chap07结构体、共同体和枚举类型C面向对象chap07结构体、共同体和枚举类型,15,二、结构体数组的初始化,struct student int num; char name20
12、; char sex; stu3= 1011, “Li Lin“,M, 1012,“Wang Lan“,F, 1013,“Liu Fang“,F;,诉硅红篱拎辙归楼孜绷领嘿啦恢庄陌主羡钡鹏竣肛蝇婪师惦谊梭寇京棚匣C面向对象chap07结构体、共同体和枚举类型C面向对象chap07结构体、共同体和枚举类型,16,struct student int num; char name20; char sex; stu = 1011,“Li Lin“,M, 1012,“Wang Lan“,F, 1013,“Liu Fang“,F;,堕丝钻拌织智青袒悉憎辨汲各古姨驹根莲哩侯蹦锈谢讳鸳枷泽谷挛肠溶有C面向对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 chap07 结构 共同体 枚举 类型
链接地址:https://www.31doc.com/p-5923059.html