清华大学C语言谭浩强第7章课件.ppt

清华大学C语言谭浩强第7章课件.ppt

ID:57155370

大小:1.51 MB

页数:127页

时间:2020-08-02

清华大学C语言谭浩强第7章课件.ppt_第1页
清华大学C语言谭浩强第7章课件.ppt_第2页
清华大学C语言谭浩强第7章课件.ppt_第3页
清华大学C语言谭浩强第7章课件.ppt_第4页
清华大学C语言谭浩强第7章课件.ppt_第5页
资源描述:

《清华大学C语言谭浩强第7章课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章复合结构类型第7章复合结构类型7.1结构体类型的概述7.2结构体类型的定义7.3结构体变量的定义及内存分配7.4结构体变量的初始化和引用7.5结构体数组7.6结构体变量和结构体数组成员的访问7.7指向结构体类型数据的指针7.8结构体型与函数7.9用递归结构处理链表7.10共用体型7.11枚举类型7.12用typedef定义类型7.1结构体类型的概述所谓“结构体类型”是由不同数据类型变量组成的集合体,相当于其他高级语言中的记录。结构体类型的数据由若干称为“成员”的数据组成,每个成员既可以是一个基本数据类型的数据,也可以是另一个构造类型的数据。例如:定义一个婴儿的出生证明的

2、结构体。structbaby{charname[20];/*婴儿姓名*/charsex;/*性别*/chardate[20];/*出生日期*/charnum[30];floatweight;/*出生时的体重*/charplace[30];/*出生地*/};7.2结构体类型的定义1.结构体类型的定义说明2.定义结构体类型时需要注意的问题3.结构体型的嵌套定义1.结构体类型的定义说明结构体类型定义的一般格式为:struct结构体名{数据类型1成员名1;数据类型2成员名2;数据类型3成员名3;……数据类型n成员名n;};其中,struct是关键字,struct连同其后的结构体标识符

3、一起称为结构体类型名或结构体名;结构体名是用户定义的标识符,其命名原则应符合标识符的书写规定;数据类型可以是基本类型说明符,也可以是已定义过的结构体类型名,还可以是后面将要介绍的共用体型等;成员名也是用户自定义的标识符,用来标识所包含的成员名称;各成员的定义语句放在花括号中;花括号后面的分号是整个定义语句的结尾。例7.1将学籍管理记录定义成一个名为structstudent的结构体类型。structstudent{charnumber[5],*name;/*学号和姓名*/charsex;/*性别*/intage;/*年龄*/floatscore;/*总分*/char*sp

4、eciality/*专业*/;charschool[31];/*学校*/};2.定义结构体类型时需要注意的问题(1)类型与变量是不同的概念,不要混淆。(2)每个成员都必须有自己的数据类型。(3)结构体中的成员可以单独使用。(4)结构体成员可以和程序中的其他标识符同名,也可以和另一个结构体的成员同名。(5)结构体类型定义的位置,可以在函数内部,也可以在函数外部。(6)结构体中的成员名可以与程序中的变量名相同,但两者并不代表同一对象。(7)注意结构体和数组之间的区别:数组里放的都是类型相同的数据(例如在一个箱子里放的全是苹果);而结构体中可以放不同类型的数据(例如在一个箱子里既放

5、有苹果,又放有桃、香蕉等不同的水果)。3.结构体型的嵌套定义结构体型的定义可以嵌套,即某个结构体型成员的数据类型可以说明为另一个已定义过的结构体类型。例如将上面定义的结构体类型中的成员“age”改为出生日期“birthday”。由于出生日期包含年、月、日三个整型数据,可以将它定义成另外一个名为structdate的结构体类型的变量,并将该变量作为结构体类型structstudent的一个成员,即structdate{intyear;intmonth;intday;};/*structstudent结构体的定义如下*/structstudent{charnum[5],*name

6、;charsex;structdatebirthday;floatscore;char*speciality;charschool[31];};也可以写成嵌套定义的形式:structstudent{charnumber[5],*name;charsex;structdate{intyear;intmonth;intday;}birthday;floatscore;char*speciality;charschool[31];};7.3结构体变量的定义及内存分配7.3.1结构体变量的定义7.3.2结构体类型的内存分配模式7.3.1结构体变量的定义1.先定义结构体,后定义变量2.

7、在定义结构体类型的同时定义变量3.直接说明结构体变量1.先定义结构体,后定义变量例如,为学生信息定义两个变量m和n,程序如下:structstudent{intnum;charname[20];intage;charsex;charplace[20];};structstudentm,n;/*定义结构体变量m和n*/上述程序就说明了两个structstudent型的变量m和n为。也可以在定义变量的同时,对变量赋初值,例如,上面的例子中定义的语句可以改写成如下赋初值的形式:structstudentm={

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。