C语言 函数 结构与联合.ppt

C语言 函数 结构与联合.ppt

ID:48742862

大小:156.00 KB

页数:91页

时间:2020-01-26

C语言 函数 结构与联合.ppt_第1页
C语言 函数 结构与联合.ppt_第2页
C语言 函数 结构与联合.ppt_第3页
C语言 函数 结构与联合.ppt_第4页
C语言 函数 结构与联合.ppt_第5页
资源描述:

《C语言 函数 结构与联合.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第8章结构与联合8.1结构8.2联合8.3枚举8.4类型定义8.5本章小结教学目标:本章主要介绍结构与联合两种构造数据类型以及枚举类型的定义和使用,并简单介绍了使用typedef来自定义类型的方法。通过本章的学习,读者将会学到如何构造与使用结构与联合两种数据类型,并且可以学到枚举类型和自定义类型的使用方法。教学重点与难点:1.结构类型数据的定义方法和引用方法。2.结构数组的定义和使用。3.结构指针及其使用。4.联合类型数据的定义方法和引用方法。8.1结构“结构”是一种构造类型,它是由若干“成员”组成的,每一个成员可以是一个基本数据类型或者又是一个构造类型。结构既然是一种“构造”而成

2、的数据类型,那么在说明和使用之前必须先定义它,也就是构造它,如同在说明和调用函数之前要先定义函数一样。8.1.1结构类型定义和结构变量说明1.结构的定义定义一个结构的一般形式为:struct结构名{成员表列};其中struct是保留字,“struct结构名”称为结构类型标识符,或称为结构类型名。大括号中的成员表由若干个成员组成,每个成员都是该结构的一个组成部分。例如:structstudent/*定义结构student*/{intnum;/*各成员的内容*/charname[20];charsex;floatscore;};对每个成员也必须做类型说明,其形式为:类型说明符成员名;成

3、员名的命名应符合标识符的书写规定。定义一个结构名为student的结构类型,该结构由4个成员组成,第一个成员为num,整型变量;第二个成员为name,字符数组;第三个成员为sex,字符变量;第四个成员为score,实型变量。应注意大括号后的分号是不可少的。结构类型定义之后,即可进行变量说明,凡说明为结构student的变量都由上述4个成员组成。由此可见,结构是一种复杂的数据类型,是数目固定、类型不同的若干有序变量的集合。2.结构类型变量的说明说明结构类型变量有以下三种方法,以上面定义的student为例来加以说明。(1)先定义结构,再说明结构变量。如:structstudent{i

4、ntnum;charname[20];charsex;floatscore;};structstudenta1,a2;说明了两个变量a1和a2为student结构类型。也可以用宏定义用使一个符号常量来表示一个结构类型,例如:#defineSTUstructstudentSTU{intnum;charname[20];charsex;floatscore;};STUa1,a2;(2)在定义结构类型的同时说明结构变量。 例如:structstudent{intnum;charname[20];charsex;floatscore;}a1,a2;(3)直接说明结构变量。例如:struct

5、{intnum;charname[20];charsex;floatscore;}a1,a2;方法(3)与方法(2)的区别在于方法(3)中省去了结构名,而直接给出结构变量。三种方法中说明的a1,a2变量都具有如图8-1所示的结构。numnamesexscore图8-1结构变量a1、a2在内存中的分配情况由图中可见,结构类型的每个变量在内存中占用的字节数是全体成员所占字节数之和。在上述student结构定义中,所有的成员都是基本数据类型或数组类型。成员也可以又是一个结构,即构成嵌套的结构。如图8-2所示的另一个表格,其中的birthday一项又含有month、day、year三项内容

6、。此时定义的结构类型就是嵌套的结构类型。如下面给出的结构定义。yeardaymonthscorebirthdaysexnamenum图8-2结构的嵌套structdate{intmonth;intday;intyear;}structresg{intnum;charname[20];charsex;structdatebirthday;floatscore;}a1,a2;首先定义一个结构date,由month、day、year三个成员组成,在定义resg结构类型时,其成员birthday被说明为date结构类型。3.结构变量的引用与赋值在程序中使用结构变量时,不能把它作为一个整体来

7、使用,而只能是结构的成员参加运算。对结构体成员的引用是通过运算符“.”来实现的。表示结构变量成员的一般形式是:结构变量名.成员名“.”是成员运算符,它在所有的运算符中优先级最高,结合性为自左向右。成员名可与程序中其它变量同名,互不干扰。例如:a1.num表示结构变量a1中的num成员;a2.sex表示a2变量中的sex成员。如果成员本身又是一个结构,则必须用若干个成员运算符逐级找到最低级的成员才能使用,只能对最低级的成员进行赋值以及运算。例如在图8-2中,若要引用一个

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

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

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