网站大量收购闲置独家精品文档,联系QQ:2885784924

c014结构体和公用体.ppt

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

第14讲 结构体和共用体 数学计算机科学系 第14讲 结构体 本讲主要内容 一、结构体 1. 结构体类型 2. 结构体变量 3. 结构体数组 4. 结构体指针 二、共用体 一、结构体类型 结构体类型概述 表13-1 学生信息表 学 号 姓 名 性别 年龄 成绩 地 址 990101 Liujia M 19 87.5 shanghai 990102 Wangkai M 18 89.5 Beijing 990103 Xiaohua F 20 81.0 Qingdao 990104 Zhangli F 19 82.0 Guangzhou 990105 wangfeng M 20 88.5 nanchang 表中的每一行反映了一个学生的综合信息,是一个学生的整体数据。每一个数据,都由多个数据项组成,包括学生的学号、姓名、性别、年龄、成绩、地址等,各数据项的数据类型也不尽相同。要表示这样一个组合数据,仅靠单一的任何一种数据类型,如整型、实型、数组等,都是不能实现的。 一、结构体类型 “结构体”技术的基本过程: ⑴ 针对具体的组合数据,定义专门的结构体数据类型; ⑵ 使用定义好的数据类型,定义要使用的结构体变量; ⑶ 使用定义的结构体变量表示有关数据。 一、结构体类型 结构体类型的定义 定义结构体类型的一般格式如下: Struct 结构体名 { 成员表 }; 如右边是对学生组合 数据的结构体类型 定义: struct student { int num; /* 学号 */ char name[20]; /* 姓名 */ char sex; /* 性别 */ int age; /* 年龄 */ float score; /* 成绩 */ char addr[30]; /* 地址 */ }; 一、结构体类型 结构体类型定义说明 ⑴ “结构体名”是用户定义的结 构体的名字,在以后定义结构体变 量时,使用该名字进行类型标识。 ⑵ “成员表”是对结构体数据中每一个数据项的变量说明,其格式与说明一个变量的一般格式相同,如下: 数据类型名 成员名; ⑶ “struct”是关键字,“struct 结构体名”是结构体类型标识符,在类型定义和类型使用时“struct”都不能省略。 ⑷ 结构体名称可以省略,此时定义的结构称为无名结构。 ⑸ 整个定义作为一个完整的语句用分号结束。 ⑹ 结构体成员名允许和程序中的其他变量同名,二者不会混淆。 struct student { int num; /* 学号 */ char name[20]; /* 姓名 */ char sex; /* 性别 */ int age; /* 年龄 */ float score; /* 成绩 */ char addr[30]; /* 地址 */ }; 一、结构体类型 结构体的嵌套 C语言结构体成员的数据类型既可以是简单的数据类型,也可以是复杂的数据类型,成员也可以是一个结构体。当结构体的成员又是结构体时,称为结构体的嵌套。如右图 struct stud结构如下表所示。 struct date { int month; int day; int year; }; struct stud { int num; char name[20]; char sex; int age; struct date birthday; char addr[30]; }stud1,stud2; num name sex age birthday addr month day year 二、结构体变量 结构体变量定义 ⑴ 先定义结构体类型, 再定义结构体变量。 一般格式如下: struct 结构体名称 结构变量名; 如上面已定义了一个结构体类型student,可以用它来定义变量: struct student student1,student2; struct student { int num; /* 学号 */ char name[20]; /* 姓名 */ char sex; /* 性别 */ int age; /* 年龄 */ float score; /* 成绩 */ char addr[30]; /* 地址 */ }; struct student student1,student2; 二、结构体变量 结构体变量定义 ⑵ 在定义结

文档评论(0)

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

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

版权声明书
用户编号:6122115144000002

1亿VIP精品文档

相关文档