C语言第十七讲.ppt

C语言第十七讲.ppt

ID:49252416

大小:178.50 KB

页数:24页

时间:2020-02-02

C语言第十七讲.ppt_第1页
C语言第十七讲.ppt_第2页
C语言第十七讲.ppt_第3页
C语言第十七讲.ppt_第4页
C语言第十七讲.ppt_第5页
资源描述:

《C语言第十七讲.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言电子教案(十七)第十七讲第十一章结构体与共用体主要内容:§11.1结构体与共用体概述§11.2结构体类型变量的定义§11.3结构体类型变量的引用§11.4结构体类型变量的初始化§11.5结构体数组§11.6指向结构体类型数据的指针1§11.1结构体和共用体概述使用数组,可以存放一组相关的同类型数据,通过对数组中的不同元素进行访问,就可以使大量数据的处理变得简单而又方便。但是我们不能将不同类型的数据放入同一数组中。如果我们需要把一个学生的学号、姓名、性别、年令、各门功课的考试成绩等不同类型的数据放在一个构造型数据类型中,就需要另外一种新的数据类型:结构体

2、类型或者共用体类型数据。一个结构体类型的变量中可以独立存放多种类型的数据,一个共用体类型的变量中可以共用同一段存储单元来存放不同类型的数据。2§11.2结构体类型和结构体变量的定义结构体的类型是一种新的数据类型,系统没有确定的结构体类型,用户根据程序的需要,自定义某种特定的结构体类型,因此,结构体变更的定义与一般变量不同,需要先定义结构体类型后,再定义结构体变量。在结构体类型的定义中,要规定结构体类型中成员数量、成员名称和成员类型。在结构体变量的定义中,要说明结构体类型、结构体变量名称。3一、结构体类型的定义格式:struct结构体名{成员表列};例如:st

3、ructstudent{longnum;charname[20];intscore[4];};结构体类型名为stuednt该结构体类型中有3个成员第一个成员名num,成员类型长整型第二个成员名name,类型为字符数组第三个成员名score,类型为整型数组4二、结构体类型变量的定义1格式1:先定义结构体类型,再定义结构体变量struct结构体名{成员表列};struct结构体名结构体变量名;例如:structstudent{longnum;charname[20];intscore[4];};structstudenta;先定义结构体类型系统为变量a分配4+1

4、*20+2*4=32个字节的存储单元anum(4)name(20)score(8)再定义a为结构体变量5二、结构体类型变量的定义2格式2:在定义结构体类型的同时定义结构体变量struct结构体名{成员表列}结构体变量名;例如:structstudent{longnum;charname[20];intscore[4];}b;定义b为student类型的结构体变量bnum(4)name(20)score(8)6二、结构体类型变量的定义3格式3:不定义结构体类型,直接定义结构体变量struct{成员表列}结构体变量名;例如:struct{longnum;char

5、name[20];intscore[4];}c;定义c为结构体变量cnum(4)name(20)score(8)省略结构体类型名称7三、对结构体类型的说明结构体类型与结构体类型变量是两个概念,前者相当于在变量定义时的类型标识符,后者相当于变量定义时的变量名。成员也可以是一个结构体变量。成员名可以与程序中其它变量同名,二者不代表同一对象,互不干扰。8§11.3结构体类型变量的引用结构体中的成员与变量(或数组)一样,可以单独使用,但要按一定的格式引用。9一、成员运算符运算符号:.前置运算符,与结构体名或共用体名一起使用。使用方法:结构体变量名.成员名或:(*结构

6、体指针变量名).成员名功能:访问结构体变量中指定的成员优先等级:最高,与括号相同说明:访问结构体成员运算符"."可多级使用,其左端应为变量名或等价变量名,运算结果为成员的值.10例1结构体变量成员引用举例(计算运费)main(){structab{inta;floatb;floatc;};structabfee;floatsum;fee.a=100;fee.b=7.5;fee.c=0.05;sum=fee.a*fee.b*(1-fee.c);printf("%d%f%f%f",fee.a,fee.b,fee.c,sum);}为第一个成员(域)a赋值定

7、义结构体类型ab定义结构体变量fee为第二个成员(域)b赋值为第三个成员(域)c赋值输出各成员的值11二、结构体类型变量引用的说明结构体变量不能整体进行输入和输出。如果成员本身又是一个结构体,则必须通过多级成员运算符,对最后一级成员进行访问。可以引用成员的地址,也可以引用结构体变量的地址。如有结构体变量a,age是a的一个成员: 则:&a表示结构体变量a的首地址,&a.age表示结构体变量a的成员age的地址。结构体变量的存储::结构体变量所占的存储空间的大小等于结构体中所有成员所占的存储空间的总和。12例2用结构体变量来表示学生数据(学号、姓名、年龄、成绩

8、)运行程序main(){structstu{long

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

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

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