C++大学基础教程.ppt

上传人:创****公 文档编号:1695472 上传时间:2019-10-22 格式:PPT 页数:25 大小:183.50KB
返回 下载 相关 举报
C++大学基础教程.ppt_第1页
第1页 / 共25页
C++大学基础教程.ppt_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《C++大学基础教程.ppt》由会员分享,可在线阅读,更多相关《C++大学基础教程.ppt(25页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、C+大学基础教程,第7章 其它自定义数据类型,北京科技大学信息基础科学系,-2-,C+语言不仅有丰富的基本数据类型,而且允许用户自己定义数据类型。,-3-,7.1 枚举型数据类型7.2 结构型数据类型7.3 联合型数据类型,第7章 C+其他自定义数据类型,7.1 枚举类型,-5-,7.1 枚举类型,枚举型数据类型(简称枚举类型) 用户可以自己定义一种数据类型,把这种数据类型的变量的可能值一一列举出来,然后就可以使用这种数据类型来定义变量了。这种新的数据类型称为枚举类型,声明形式为:enum 新的数据类型名称 变量值列表;,-6-,例如:enum weekday sun, mon, tue, w

2、ed, thu, fri, sat;新的数据类型 枚举元素或枚举常量,7.1 枚举类型,-7-,定义一个weekday类型的变量:weekday day; 变量day的取值范围为类型定义时,表里列举出来的七种标识符,把这些标识符看作符号常量对待。例如:day = sat;,7.1 枚举类型,-8-,使用枚举类型时要注意:在类型定义之后,对枚举元素按常量处理,不能对它们赋值。枚举元素具有默认值,它们依次为:0,1,2,。也可以在类型声明时另行指定枚举元素的值。枚举值可以进行关系运算。整数值不能直接赋给枚举变量;如需要将整数值赋给枚举变量,应进行强制类型转换,7.1 枚举类型,-9-,枚举常量在机

3、器内部仍然是用整型数来存取在定义变量时要给变量分配存储空间,那么定义某个枚举类型的变量时,分配几个字节的内存空间呢? (前面我们看到,枚举元素的默认值都是整数,可以给枚举元素指定值,也用整数,所以说,在计算机内部处理时,是把枚举类型按整型(int)对待的。),7.1 枚举类型,7.2 结构类型,-11-,结构型数据类型(简称结构类型) 把现实生活中意义密切相关的一组数据组合成一个整体,即由各种数据类型(可以是基本数据类型或已声明的自定义数据类型)的数据组成一个集合,称为结构类型。,7.2 结构类型,-12-,结构的声明形式如下:struct 结构类型名 数据类型说明符1 成员名1; 数据类型说

4、明符2 成员名2; 数据类型说明符n 成员名n;;,7.2 结构类型,-13-,例如:struct studentlong num; /学号char name20;/姓名int age;/年龄float score;/成绩;,7.2 结构类型,-14-,定义student类型的变量:student s1;结构类型的变量所占的存储空间是结构中所有成员所占空间的总和,7.2 结构类型,-15-,给结构变量赋初值,可以在变量定义时同时设置初始值:student s2=20041118,”Li Li”,18,90;给结构变量赋值,也可以单独给各个成员赋值。例如: s1.num=20041118;s1.

5、name=”Li Li”;,7.2 结构类型,-16-,属于同一结构类型的各个变量之间可以相互赋值,这一点和数组不同,C+规定,不能直接进行数组名的赋值,因为数组名是一个常量,而结构类型的变量可以赋值。 不同结构的变量不允许相互赋值,即使这两个变量可能具有同样的成员。,7.2 结构类型,-17-,定义变量时,我们可以定义指向int型的指针变量,类似的,可以有指向新定义的结构型数据类型的指针变量。可以将结构变量的地址赋给结构指针,使结构指针的指向确定。使用取地址“&”操作,得到结构变量的地址,这个地址就是结构的第一个成员的地址。 用结构指针访问结构成员时,用箭头操作符代替原来的点操作符。,结构类

6、型与指针,-18-,声明一个结构类型后,就可以用来组成更复杂的数据类型。可以象定义基本数据类型的数组一样定义结构类型的数组,称为结构数组。结构数组的每个元素都是该结构类型的变量。,结构类型与数组,-19-,用结构变量作为函数参数,属于按值传递,这时结构变量中所有成员的值都将被一一复制到形参中。 用结构变量作为函数参数,也可以按引用传递,这时仅仅把结构变量的地址传递给形参,而不用把结构变量的成员值一一复制。,结构类型与函数,-20-,一个函数的参数可以是某个结构类型,同样道理,函数的返回值也可以是某个结构类型。以结构变量作为函数的返回值,到主函数中需要把结构值复制给主函数中的结构变量,当结构成员

7、很多时,同样存在执行效率低的问题。因此,也可以用结构的引用(或指针)作为返回值。但是要注意:不能返回一个局部结构变量的引用或指针。,结构类型与函数,7.3 联合类型,-22-,有时需要使几个不同类型的变量共用同一组内存单元,这时可以声明一个联合型数据类型,语法形式为:union 联合类型名数据类型说明符1 成员名1;数据类型说明符2 成员名2;数据类型说明符n 成员名n;;,7.3 联合类型,-23-,例如:union uareachar c-data;short s-data;long l-data;ux;,新定义的联合类型三个成员,它们共用内存空间uarea类型的变量ux,7.3 联合类型,-24-,使用联合型变量时注意:同一段内存用来存放几种不同类型的成员,但在某一时刻只能存放其中一种,而不是同时存放几种。联合变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后原有的成员就失去作用。联合变量的地址和它的各个成员的地址都是同一地址。不能对联合变量名赋值,也不能在定义时初始化。不能用联合变量作为函数参数或返回值。,7.3 联合类型,-25-,作业,第7章习题:9,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 校园应用

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com