第08章.结构体及枚举类型.pptVIP

  1. 1、本文档共92页,可阅读全部内容。
  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文档。上传文档
查看更多
第08章.结构体及枚举类型

第8章 结构体和枚举类型; 本章要点:;在现实生活中,有许多不同性质的数据实体。比如,通讯录通常由姓名、电话、E-mail、年龄等组成。姓名、电话、E-mail和所在城市可以用字符串表示,年龄可以用整型数表示。可是它们的每一项都是单独使用的,不能反映通讯录这样一个整体。用什么方法表示通讯录这个整体呢? 新的被称为结构体的数据类型。为我们处理复杂的数据提供了便利的手段。;8.1.1 什么是结构体 结构体(structure)是一种数据类型,它把互相联系的数据组合成一个整体。例如,下面的表格显示了一个通讯录的信息: 表8-1 一个通讯录的信息表 一个通讯录中有姓名、电话、性别、年龄、E-mail地址、所在城市,这些信息都是和一个叫“李明”的人有关。如果我们只把这些信息分别定义为独立的简单变量,就体现不出它们之间的相互关联了。所以,应当把它们组织成一个组合项,在一个组合项中包含若干个类型不同的数据项。用“结构体”来定义。;8.1.2 结构体的定义 结构体既然是一种数据类型,在使用前,先要“定义”出要使用的结构体类型。例:将通讯录定义成一个结构体。 通讯录的信息由六项属性组成,首先要给这个结构体类型定义取一个名字,比如“AddressList”。然后,应该在结构体定义中对各属性进行说明。下面就是“通讯录”结构体类型: struct AddressList { char name[20]; /* 姓名 */ char telephone[12]; /* 电话 */ char sex; /* 性别 */ int age; /* 年龄 */ char e_mail[40]; /* 电子邮件 */ char addr[30]; /* 地址 */ };;其中,“struct”是关键字,是结构体的标识符,不能省略。“AddressList”是结构体类型名,它由我们自己进行命名的。“{ }”中是结构体的成员,每个成员的数据类型既可以是简单的数据类型,也可以是复杂的数据类型,当然也可以是其他结构体数据类型。最后,定义完一个结构体后一定要用一个分号“;”结束。 从上面这个例子,可以看出结构体定义格式如下: ;可以定义许多复杂的数据类型。 比如,定义一个表示日期的结构体: struct date { int year; /* 年*/ int month; /* 月*/ int day; /* 日*/ }; 用日期这种结构体,我们就可以表示生日、开学时间、春节等等这样的日期。 ;也可把两种结构体类型结合起来,“造出”更复杂的结构体。比如,一个通讯录的结构体中包含了表示出生日期的结构体struct date: struct AddressList { char name[20]; /* 姓名 */ char telephone[12]; /* 电话 */ char sex; /* 性别 */ int age; /* 年龄 */ char e_mail[40]; /* 电子邮件 */ char addr[30]; /* 地址 */ struct date birthday; /* 出生日期 */ };;我们先“造出”一个日期的结构体类型,同时我们又在通讯录这个结构体中,将出生日期这个成员变量定义为日期类型,这样通讯录结构体就变成更复杂一些的数据类型了。这样的结构可以叫做嵌套型的结构体,其结构可以如图8-1示意: 图8-1 嵌套型的结构体示意 ;8.1.3 定义结构体变量 既然我们定义的结构体是一种数据类型,就可以像int、char、float这样的数据类型一样来使用,定义结构体类型的变量。 用结构体类型定义变量的方式有如下几种: 1. 先定义结构体类型,再定义变量 例,定义一个通讯录结构体: struct AddressList { char name[20]; /* 姓名 */ char telephone[12]; /* 电话 */ char sex; /* 性别 */ int age; /* 年龄 */ char e_mail[40]; /* 电子邮件 */ char addr[30]; /* 地址 */ }; /* 定义2个结构体变量 */ struct AddressList AddressList1, AddressList2;;定义了两个“AddressList”结构体类型的变量AddressList1和AddressList2。它们可以分别表示两个人的通讯录,比如: AddressList1: AddressList2: 图8-2 结构体变量;结构体变量中的各个成员,在内存中是顺序存

文档评论(0)

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

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

1亿VIP精品文档

相关文档