C语言程序设计实例教程课件:结构体与共用体.ppt

C语言程序设计实例教程课件:结构体与共用体.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共50页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

7.1.5关键字typedef的用法typedef的一般使用形式如下:typedef原类型名新类型名;如:typedefstruct{ intyear; intmonth; intday;}DATE;定义新的类型名DATE,它表示上面指定的结构体类型。在使用typedef时,应当注意如下的问题:(1)typedef的目的是为已知数据类型增加一个新的名称。因此并没有引入新的数据类型。(2)typedef只适于类型名称定义,不适合变量的定义。(3)typedef与#define具有相似的之处,但是实质不同。7.1.5关键字typedef的用法7.2结构体数组结构体数组是以同类型的结构体变量为数组元素的数组。通常一个结构体变量可以存放一个整体的数据(如一个学生的数据),而需要存放多个整体的数据(如多个学生的数据),则应当采用结构体数组,这是最常见的用法之一。7.2.1结构体数组的定义方式1:struct结构体标识符{成员变量列表;…};struct结构体标识符数组名[数组长度];方式2:struct结构体标识符{成员变量列表;…}数组名[数组长度];7.2.1结构体数组的定义方式3:struct{成员变量列表;…}数组名[数组长度];7.2.1结构体数组的定义对于数组的引用,分为数组元素和数组本身的引用。对于数组元素的引用,其实质为简单变量的引用。对于数组本身的引用实质是数组首地址的引用。7.2.1结构体数组的定义1.数组元素的引用数组元素引用的语法形式如下:数组名[数组下标];[]为下标运算符;数组下标的取值范围为(0,1,2,...,n-1),n为数组长度。7.2.1结构体数组的定义2.数组的引用数组作为一个整体的引用,一般表现在如下两个方面:(1)作为一块连续存储单元的起始地址与结构体指针变量配合使用;(2)作为函数参数。7.2.1结构体数组的定义7.2.2结构体数组的初始化结构体数组的初始化遵循基本数据类型数组的初始化规律,在定义数组的同时,对其中的每一个元素进行初始化。例如:structstudent{longnumber;charname[20];charsex;intage;floatheight;}s[3]={{10101,“zhangsan”,’M’,19,177},{10104,“liming”,’F’,20,164.5},{10106,“wangwu”’M’,18,175.5}};7.2.1结构体数组的定义7.2.3结构体数组的应用【例7.5】计算学生的平均成绩和不及格的人数。【例7.6】编程输入5个学生的姓名和数学、英语、语文三门课的成绩,计算每个学生的平均成绩,并输出学生姓名和平均成绩。分析:程序中定义一个结构体数组s,它有5个数组元素,用于存放5个学生数据。每个数组元素是structstudent结构体类型变量,包含5个成员:name(姓名)、math(数学成绩)、eng(英语成绩)、cuit(语文成绩)、aver(平均成绩)。7.3结构体与函数在C语言中,与前面介绍的其他类型数据一样,结构体也可作为函数的参数,有以下三种形式:1.结构体变量的成员作函数的参数。与普通变量作函数参数一样,是将实参(结构体变量的成员变量)的值向形参进行单向传递。2.结构体变量作函数的参数。结构体变量作函数的参数是将实参(结构体变量的所有成员)的值逐个传递给同结构类型形参,因此这种方式也是属于值的单向传递。3.用指向结构体变量(或数组)的指针作函数的参数。在这种情况下,是将结构体变量(或数组)的首地址传递给形参,此时形参和实参有相同的内存空间,形参值的改变等价于对应实参值的改变,因此它属于双向传递。7.3结构体与函数【例7.7】结构体变量作为函数参数,计算职工的实发工资。【例7.8】结构体指针作为函数参数,设置学生成绩等级并统计不及格人数。结构体类型与结构体变量7.1结构体数组7.2结构体与函数7.3动态数据结构7.4共用体7.57.1结构体类型与结构体变量在学生登记表中每个学生都有相同的信息如学生姓名、学号、年龄、性别、所在班级、各科成绩等,如果将这些数据类型不同的信息单独定义成相互独立的变量分开处理则很难反映出它们之间的内在联系。在程序中如何将这些信息组织在一起,使得对它们的访问和操作同步呢?7.1.1结构体类型的定义结构体类型定义的语法形式如下:struct结构体标识符{成员变量列表;…};其中struct为系统关键字(keyword),说明

文档评论(0)

ning2021 + 关注
实名认证
内容提供者

中医资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年05月10日上传了中医资格证

1亿VIP精品文档

相关文档