- 1、本文档共85页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十一章结构体与共用体 结构体 共用体 结构体与函数 程序设计实例 本章小结 作业 考虑这样一类数据:一个数据项由多个子数据项组成,而且每个子数据项的类型可能不一样。 比如: 在人事档案管理中,每个人的自然情况表可能包含:名字(字符串型)、年令(整型)、出生时间(三个整型)、性别(枚举)等等。 结构体 结构体类型 结构体类型是分量的集合。 分量也称成员、成分、域, 分量类型可以不同。语法如下: 例11-1 一个人的自然情况表 卫星数据类型 enum sext { male , female } ; struct date { int year ,month ,day ; }; struct preson { char name[10] ; int age ; enum sext sex ; struct date birthdate ; }; struct mansatellite { char name[10] ; struct date lounchdate ; float weight, diameter, orbitrad, angle ; }; 结构体类型引用 在struct后跟以结构体标签,称为“结构体类型引用”。在例11-1的结构体类型定义的意义下: struct date struct preson struct mansatellite 都是结构体类型引用,使用它们将分别标记相应结构体定义。 结构体类型说明符: 结构体类型定义和结构体类型引用统称“结构体类型说明符”。使用结构体类型说明符可以 定义结构体类型的类型名, 还可以声明结构体类型变量。 结构体类型名 与一般类型一样,使用 typedef 可以定义结构体 类型名。形式是: typedef 结构体类型说明符 标识符 例11-2 定义结构体类型名 结构体变量 结构体类型变量声明可以采取如下三种形式之一 使用结构体类型引用 直接使用结构体类型定义 使用typedef定义的结构体类型名 指向结构体变量的指针 可以定义指向任何类型的指针类型,并声明相应指针类型的变量,结构体类型当然不例外。在前几节声明的基础上,例11-4声明了4个指向不同结构体类型变量的指针变量pointer_preson、dateofpointer、p、p_east。 结构体变量的成分 访问结构体变量的一个成分,使用成员选择表达式。其语法是: <成员选择表达式> → <直接成员选择> ▌<间接成员选择> <直接成员选择> → <后缀表达式> . <标识符> <间接成员选择> → <后缀表达式> - <标识符> 直接成员选择 直接成员选择表达式针对一般的结构体变量。 形式是: r . w r 是后缀表达式,最终计算出一个结构体变量; w是 r 所属结构体类型中的一个成员名字 下述成员选择表达式是合法的: zhang.name programming_pascal.author 间接成员选择 间接成员选择表达式针对指向结构体变量的指针变量 形式是 p-w p 是后缀表达式,最终计算出一个指向结构体变量的指针变量; w 是p所指向结构体变量所属类型中的一个成员名字 下述成员选择表达式是合法的: pointer_preson - name p_east - weight p_east - lounchdate 例11-5 设计表示复数的结构体类型, 给出复数加法和乘法函数 解: /* 复数类型 */ typedef struct co
文档评论(0)