C语言程序设计实用教程 教学课件 作者 陈方第7章.ppt

C语言程序设计实用教程 教学课件 作者 陈方第7章.ppt

ID:50320606

大小:97.50 KB

页数:16页

时间:2020-03-08

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.1结构体结构体和共用体与数组一样都属于构造类型。数组的特点是一个数组变量中的所有元素必须是同一种数据类型。显然,用数组处理大量同类型数据是非常方便的。但是在实际生活中,有许多密切相关的数据需要统一考虑和处理,而它们的数据类型是不同的,如一个学生的档案信息,包括学号、姓名、性别、年龄、学习成绩……,这些数据的类型有整型、字符型、实型等。为了处理由这些不同类型的数据组合成的有机整体,我们引入了一个新的数据类型,称为结构体。7.1.1结构体类型与结构体类型的变量1.结构体类型的定义结构体类型定义的

2、一般格式为:struct结构体名{数据类型成员名1;数据类型成员名2;……数据类型成员名n;};其中,struct是定义结构体类型的关键字。“结构体名”是该结构体的名称,是设计者自己命名的,其命名规则与标识符的命名规则相同。由struct和“结构体名”二者组成结构体类型标识符,花括号内列出了该结构体中各成员变量类型及名称。一个结构体由多个成员变量构成,每个成员变量的类型可以是任何数据类型。注意:不要忽略最后的分号。2.结构体类型变量的定义结构体类型定义后,应当定义结构体类型的变量,简称结构体变量

3、。结构体变量的定义方式有三种。(1)先定义结构体类型,再定义结构体变量。定义的一般格式为:struct结构体名结构体变量名表列;(2)在定义结构体类型的同时定义结构体变量。定义的一般格式为:struct结构体名{结构体成员表;}结构体变量名表;(3)直接定义结构体变量。定义的一般格式为:struct{结构体成员表列;}结构体变量名表列;这种定义形式省略了结构体名。7.1.2结构体变量的引用与初始化1.结构体变量的引用由于结构体变量中包含若干不同数据类型的成员项,为了引用变量中的某一个成员,必须指

4、明该成员属于哪一个变量。对结构体变量的引用是通过对其成员的引用来实现的。引用结构体变量中成员的方式为:结构体变量名.成员名“·”是成员运算符,它在所有的运算符中优先级最高。2.结构体变量的初始化结构体变量的初始化与数组的初始化非常相似,即在定义结构体变量的同时为其成员赋初始值,把各成员的值按顺序放在等号右边的花括号中,各值之间用逗号隔开。[例7-1]建立一个学生的信息表,对结构体变量初始化。main(){structstudent{longnum;charname[20];charsex;int

5、age;floatscore;};structstudentstu1={102401,"DingYi",‘M’,18,94.5};printf("No.=%ld,Name=%s,sex=%c,age=%d,score=%.2f",stu1.num,stu1.name,stu1.sex,stu1.age,stu1.score);}7.1.3数组数组的元素也可以是结构体类型的,这样就构成了结构体数组。结构体数组的每一个元素都是具有相同结构体类型的结构体变量。在实际应用中,经常用结构体数组来表示具

6、有相同数据结构的一个群体。如一个班的学生档案,一个单位的职工的工资表等。1.结构体数组的定义结构体数组的定义方法与结构体变量的定义方法相似。例如:structstudent{longnum;charname[20];charsex;intage;floatscore;}stu[40];定义了一个结构体数组stu,它包含40个元素stu[0]~stu[39],每个数组元素都是structstudent类型的结构体形式。2.结构体数组的初始化结构体数组的初始化与数组的初始化一样。3.结构体数组元素的

7、引用结构体数组的每个元素相当于一个结构体变量,因此引用结构体数组元素的成员与引用结构体类型变量的成员的方式相似。引用一个结构体数组元素的成员变量的格式为:结构体数组名[下标].成员名[例7-2]使用结构体数组计算学生的平均成绩。structstudent{intnum;charname[10];floatscore;}stu[5]={{101,"WangPing",80.5},{102,"HuangHao",90},{103,"XuePing",70.5},{104,"ZhaoMei",75},

8、{105,"JiaMing",62.5}};main(){inti;floatave,sum=0;for(i=0;i<5;i++)sum+=stu[i].score;ave=sum/5;printf("average=%f",ave);}7.1.4结构体指针1.结构体指针变量(1)结构体指针变量的定义struct结构体名*结构体指针变量名;例如:structstudentstu1,*ptr;这里定义了一个structstudent类型的指针变量ptr以及一个结构体变量stu1,其中struc

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

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

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