第八章 结构体 共用体(人民邮电 管银枝主篇).ppt

第八章 结构体 共用体(人民邮电 管银枝主篇).ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 结构体 共用体(人民邮电 管银枝主篇)

第八章 结构体、共用体 本章内容 8.1 结构体类型 8.2 结构体变量 8.3 结构体数组 8.4 共用体 8.5 枚举类型 8.6 用typedef定义类型 8.7 本章小结 8.1 结构体类型 任务提出:学生信息管理系统数据库中,学生的信息包括学号、姓名、性别、出生日期、五门课程的成绩及平均成绩,如何定义一个数据类型。 任务分析:在此例中,学生的学号、姓名、性别、出生日期、课程的成绩他们的数据类型并不一致,其中的学号、姓名为字符型数组,性别为单个的字符型数据,成绩为实型数据,而出生日期又包括年月日三项。 一个学生的学号、姓名、性别、出生年月日、成绩等项,这些项都与某一学生相联系。如果将它们分别定义成互相独立的简单变量,难以反映它们之间的内在联系。但如果把它们组织成一个组合项,定义为另一种如下表所示的结构体类型的数据: 结构体类型的定义如下: struct birthday {int year; int month; int day; }; struct student {char num[7] char name[20]; char sex; struct birthday bir; float score[5]; float average; }; 8.1.1结构体定义格式 struct 结构体名 { 数据类型1 成员名1; 数据类型2 成员名2; . . . . . . 数据类型n 成员名n; }; 如: struct student {char num[7]; char name[20]; char sex; float score; }; 在以上定义中: (1)“结构体名”是用户取的标识符,是结构体类型的标志。如上例中的结构体定义中student就是一个结构体名。 (2)大括弧内是结构体中的各个成员,由它们组成一个结构体。如上例中的num、name、sex、score等都是成员名。 (3)对每个成员必须作类型说明。数据类型可以是基本数据类型说明符,也可以是用户已经定义过的结构体名,还可以是后面将要介绍的其它数据类型的类型说明符。类型说明的格式是: 数据类型名 成员名 (4)成员名是用户取的标识符,是用来标识所包含的成员名称。成员名的命名规则与变量名相同。成员也称为“域”,每一个成员也称为结构体中的一个域。 如在上例中的结构体定义中,定义了一个名为student的结构体,该结构共有4个成员组成。第一个成员为 num,整型变量;第二个成员为name,字符数组;第三个成员为sex,字符变量;第四个成员为score,实型变量。应注意括号外面的分号“;”不能少。 (5)结构体定义可以嵌套,即某个结构体成员的数据类型可以说明为另一个已定义过的结构体型。 例:定义一个结构体类型用来表示学生的基本情况,其中的每个学生的数据包括:学号、姓名、性别、年龄、成绩、家庭地址等。 分析: 该结构体中,可将学号、姓名、家庭地址定义成字符型数组,性别定义成字符型数据,年龄、成绩定义实型数据。结构体名取为“student”,它包括num、name、sex、age、score、addr等不同类型的数据项。结构体类型定义如下: struct student { char num[7]; char name[20]; char sex; int age; float score; char addr[30]; }; 例:定义一个结构体类型用来表示一个单位的职工档案,职工档案中包括:职工姓名、性别、年龄、工资等。 分析: 该结构体中,可将职工档案中的职工姓名定义成字符型数组,性别定义成字符型数据,年龄定义成整型数据,工资定义实型数据。结构体名取为“person”,它包括name、sex、age、wage 等不同类型的数据项。结构体类型定义如下: 可定义如下的结构体: struct person { char name[20]; char sex; int age; float wage; }; 8.1.2嵌套的结构体类型定义方法 例:定义一个结构体类型用来表示职工档案,职工档案中除和上例一样包括职工姓名、性别、工资外,职工的出生日期要能体现年月日。 分析: 假设此结构体类型名person1,其成员有职工姓名name、性别sex、出生日期bir、工资wage等五个成员。其中的职工姓名、性别、工资等成员的定义方法同上例一样。而对于出生日期bir又包括三个部分year、month、day(分别对

文档评论(0)

6358999 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档