- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章复合数据类型
第7章复合数据类型
(时间:2次课,4学时)
/webnew/
第7章复合数据类型
第7章复合数据类型
本章主要内容
1. 掌握结构类型、结构变量、结构数组、结
构指针的定义和引用方法
2. 掌握结构变量及结构数组在函数间的传递
规则,能够用结构进行链表的简单操作
3. 了解联合、位段及枚举类型的概念、定义
和引用,学会已有类型的别名定义方法。
/webnew/
7.1 结构类型
7.1 结构类型
结构类型是由不同数据类型变量组成的集合体,相当
于我们常说的记录。
学籍管理
记录 学号 姓名 年龄 性别 入学成绩 专业 原毕业学校
结构 数据项 结构成员
/webnew/
7.1.1 结构类型的定义和存储模式
7.1.1 结构类型的定义和存储模式
1. 结构类型的定义
定义结构类型包括定义结构类型的名称及其包含的成员。
struct 结构标识符
{ 数据类型 成员1;
数据类型 成员2;
...
数据类型 成员n; };
其中,struct是关键字,结构标识符和各成员由用户自行
命名;关键字struct连同其后的结构标识符一起称为结
构类型名或结构名;各成员的定义语句放在花括号中构
成复合语句,花括号后面的分号是整个定义语句的结
尾。 /webnew/
【例7.1】将上面的学籍管理记录定义成一个名为struct
student的结构类型:
struct student
{ char number[5], *name;
char sex;
int age;
float score;
char *speciality;
char school[31];
};
/webnew/
2. 在定义结构类型时需要注意的问题
① 每个成员都必须有自己的数据类型,位置上连续的
同类型的结构成员可以出现在一条语句中,并共用同
一个类型关键字。
② 结构类型的成员可以是基本数据类型的变量、数组
或指针,也可以是已定义结构类型的变量、数组或指
针。
③ 结构成员可以和程序中的其他标识符同名,也可以
和另一个结构的成员同名。
④ 结构类型定义的位置,可以在函数内部,也可以在
函数外部。在函数内部定义的结构类型,只能在函数
内部使用;在函数外部定义的结构类型,其有效范围
是从定义处开始,直到它所在的源程序文件结束。
/webnew/
7.1.2结构变量、结构数组和结构指针的定义
7.1.2结构变量、结构数组和结构指针的定义
1. 定义格式
① 直接定义
在定义结构类型的同时定义该类型的变量、数组及指针。
有名结构类型:关键字后带结构标识符。
struct student
{ char number[5], *name;
char sex;
struct date
{ int year; int month; int day; }birthday;
float score;
char *speciality;
char school[31]; } st1,st2[10],*p1;
/webnew/
无名结构类型:关键字s
文档评论(0)