7.1枚举类型-北京科技大学.pptVIP

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7.1枚举类型-北京科技大学

北京科技大学 C++大学基础教程 第7章 其它自定义数据类型 C++语言不仅有丰富的基本数据类型,而且允许用户自己定义数据类型。 第7章 C++其他自定义数据类型 7.1 枚举型数据类型 7.2 结构型数据类型 7.3 联合型数据类型 7.1 枚举类型 7.1 枚举类型 枚举型数据类型(简称枚举类型) 用户可以自己定义一种数据类型,把这种数据类型的变量的可能值一一列举出来,然后就可以使用这种数据类型来定义变量了。这种新的数据类型称为枚举类型,声明形式为: enum 新的数据类型名称 {变量值列表}; 7.1 枚举类型 例如: enum weekday {sun, mon, tue, wed, thu, fri, sat}; 新的数据类型 枚举元素或枚举常量 7.1 枚举类型 定义一个weekday类型的变量: weekday day; 变量day的取值范围为类型定义时,表里列举出来的七种标识符,把这些标识符看作符号常量对待。例如: day = sat; 7.1 枚举类型 使用枚举类型时要注意: 在类型定义之后,对枚举元素按常量处理,不能对它们赋值。 枚举元素具有默认值,它们依次为:0,1,2,……。 也可以在类型声明时另行指定枚举元素的值。 枚举值可以进行关系运算。 整数值不能直接赋给枚举变量;如需要将整数值赋给枚举变量,应进行强制类型转换 7.1 枚举类型 枚举常量在机器内部仍然是用整型数来存取 在定义变量时要给变量分配存储空间,那么定义某个枚举类型的变量时,分配几个字节的内存空间呢? (前面我们看到,枚举元素的默认值都是整数,可以给枚举元素指定值,也用整数,所以说,在计算机内部处理时,是把枚举类型按整型(int)对待的。) 7.2 结构类型 7.2 结构类型 结构型数据类型(简称结构类型) 把现实生活中意义密切相关的一组数据组合成一个整体,即由各种数据类型(可以是基本数据类型或已声明的自定义数据类型)的数据组成一个集合,称为结构类型。 7.2 结构类型 结构的声明形式如下: struct 结构类型名 { 数据类型说明符1 成员名1; 数据类型说明符2 成员名2; ┇ 数据类型说明符n 成员名n; }; 7.2 结构类型 例如: struct student { long num; //学号 char name[20]; //姓名 int age; //年龄 float score; //成绩 }; 7.2 结构类型 定义student类型的变量: student s1; 结构类型的变量所占的存储空间是结构中所有成员所占空间的总和 7.2 结构类型 给结构变量赋初值,可以在变量定义时同时设置初始值: student s2=”Li Li”,18,90}; 给结构变量赋值,也可以单独给各个成员赋值。例如: s1.num s1.name=”Li Li”; 7.2 结构类型 属于同一结构类型的各个变量之间可以相互赋值,这一点和数组不同,C++规定,不能直接进行数组名的赋值,因为数组名是一个常量,而结构类型的变量可以赋值。 不同结构的变量不允许相互赋值,即使这两个变量可能具有同样的成员。 结构类型与指针 定义变量时,我们可以定义指向int型的指针变量,类似的,可以有指向新定义的结构型数据类型的指针变量。 可以将结构变量的地址赋给结构指针,使结构指针的指向确定。使用取地址“”操作,得到结构变量的地址,这个地址就是结构的第一个成员的地址。 用结构指针访问结构成员时,用箭头操作符代替原来的点操作符。 结构类型与数组 声明一个结构类型后,就可以用来组成更复杂的数据类型。可以象定义基本数据类型的数组一样定义结构类型的数组,称为结构数组。 结构数组的每个元素都是该结构类型的变量。 结构类型与函数 用结构变量作为函数参数,属于按值传递,这时结构变量中所有成员的值都将被一一复制到形参中。 用结构变量作为函数参数,也可以按引用传递,这时仅仅把结构变量的地址传递给形参,而不用把结构变量的成员值一一复制。 结构类型与函数 一个函数的参数可以是某个结构类型,同样道理,函数的返回值也可以是某个结构类型。 以结构变量作为函数的返回值,到主函数中需要把结构值复制给主函数中的结构变量,当结构成员很多时,同样存在执行效率低的问题。因此,也可以用结构的引用(或指针)作为返回值。但是要注意:不能返回一个局部结构变量的引用或指针。 7.3 联合类型 7.3 联合类型 有时需要使几个不同类型的变量共用同一组内存单元,这时可以声明一个联合型数据类型,语法形式为: union

文档评论(0)

daoqqzhuan2 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档