第9章构造数据类型.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
结构体类型说明 一般来说,说明结构体类型的语法格式如下: struct 结构体标识符 { 成员变量列表; … }; 例如,为了9.1.1节中包含学号、姓名、性别、年龄等信息的学生,可以定义如下的自定义数据类型struct Student。 struct Student { int Code; //学号 char Name[20]; //姓名 char Sex; //性别 int Age; //年龄 }; 定义结构体类型变量 在完成一个结构体定义之后,就可以像定义基本数据类型变量一样定义结构体类型的变量和数组了。一般来说,结构体类型变量的定义可以通过如下4种方式完成。 先定义结构体类型再单独进行变量定义 紧跟在结构体类型说明之后进行定义 在说明一个无名结构体类型的同时直接进行定义 使用typedef说明一个结构体类型名后再用新类型名来定义变量 类型重定义typedef 在现实生活中,信息的概念可能是长度、数量和面积等。在C++中,信息被抽象为int、float和double等基本数据类型。从基本数据类型名称上,不能够看出其所代表的物理属性,并且int、float和double为系统关键字,不可以修改。为了解决用户自定义数据类型名称的需求,C++中引入类型重定义语句typedef,可以为数据类型定义新的类型名称,从而丰富数据类型所包含的属性信息。 在C++中,类型重定义typedef的一般语法描述如下: typedef 类型名称 类型标识符; 位域 在实际的程序设计中,有时需要存储少量的信息,这些信息并不需要占用一个完整的字节,而只需占几个或一个二进制位。例如,在存放一个标志时,只有0和1两种状态,用一个二进位即可。如果给其分配一个字节的空间,便浪费了存储空间。因此,C++引入了位域这一数据类型。 所谓位域是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节的二进制位域来表示。 定义位域变量 位域的定义和位域变量的说明与结构定义类似,其形式如下: struct 位域结构名 { 位域列表 }; 其中,位域列表的形式为: 类型说明符 位域名:位域长度 例如,下面语句定义了一个位域abc,其包含3个位域成员a、b和c。 struct abc { int a:8; int b:2; int c:6; }; 本章重点讲解了C++中的构造数据类型。C++中,结构体、共用体和枚举类型是使用较多的构造数据类型。其中,结构体类型是一种复杂而灵活的构造数据类型,它可以将多个相互关联,但类型不同的数据项作为一个整体进行处理。在定义结构体变量时,每一个成员都要分配空间存放各自的数据。共用体是另一种构造数据类型,但在定义共用体变量时,只按占用空间最大的成员来分配空间,在同一时刻只能存放一个数据成员的值。结构体和共用体变量的定义都有三种形式,可以将类型的说明和变量的定义分开、结合或不给出类型名只定义变量。读者应重点掌握结构体、共用体和枚举的变量定义和引用方法,对于位域,做简单了解即可。 习题 3. 编写一个程序,根据用户输入的学生数目,给出用户输入学生学号、姓名、成绩等输入提示,用户输入完成后给出输入的各项成绩和平均分 1-* 融智技术学院 融智技术学院 第9章 构造数据类型 杨章伟 e-mail:yang505412@163.com 课程内容安排 结构体 共用体 枚举 类型重定义typedef 位域 小结 习题 结构体 结构体是一种可以由程序员根据实际情况来自己构造的新的数据类型,结构体类型的数据由若干称为“成员”的数据组成,每一个成员既可以是一个基本数据类型的数据,也可以是另一个构造类型的数据。 引用结构体成员变量 前面介绍过一个结构体变量中包括一个或多个成员变量,在实际使用中,就需要对其成员变量进行引用。一般来说,如果已定义了一个结构体变量和一个指向该结构体的指针变量,则可用以下三种形式来引用结构体变量中的成员: 结构体变量名 . 成员名 指针变量名成员名 (*指针变量名). 成员名 共用体 在具体的程序设计中,有时需要将几种不同类型的变量存放到同一段单元中,或者说,需要使几个不同的变量共占同一段内存。在C++中,提供了这样一种类型结构,即共用体。在有些参考资料上,共用体也称为联合(Union)。 共用体类型的说明与结构体类型说明方式完全相同。不同的是,结构体变量中的成员各自占有自己的存储空间,而共用体变量中的所有成员占有同一个存储空间。 union 共用体标识符 { 成员变量列表; …… }; 枚举

文档评论(0)

189****6821 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档