网站大量收购独家精品文档,联系QQ:2885784924

C语言程序设计ppt-第10章-01推荐.ppt

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

华中科技大学计算机学院 C语言程序设计 第10章 结构与联合 结构与联合都属于C的构造类型。 对结构与联合而言,都需要先定义结构类型和联合类型,然后再根据已经定义的结构类型来定义对应的结构变量以及用已经定义的联合类型来定义对应的联合变量。 本章介绍: 结构类型和结构变量的声明,结构类型的使用; 结构类型的指针; 有结构类型参数的函数; 结构数组; 字段结构; 以及联合类型和联合变量的定义,联合变量的使用; 动态存储分配,动态数组设计; 以及与动态存储分配相关的链表、栈、树等动态数据结构。 10.1 结构概述 结构产生的背景: 程序设计语言的发展总是与数据类型的发展、丰富、以及完善联系在一起的。 变量可以认为是内存单元的有名表示。变量在处理大量同类型数据时就暴露出名字多,不利于用循环处理等一系列不足。 数组则是处理大量同类型数据的有力工具。通过数组名和下标,可以方便的描述大量同类型数据,并且可以充分利用循环来进行快速处理。 问题: 如何将类型不同而关系又非常密切的数据项组织在一起,统一加以处理? –结构产生的背景! 描述全班学习情况的实际问题 问题: 描述全班、全年级每位同学的英语、高等数学、普通物理、C语言程序设计等课程的学习情况,需要学号、班级、姓名、以及各科成绩等属性来描述。 特点:学号、班级、姓名往往用字符数组描述、性别往往用字符型描述,各科成绩则往往用整型或浮点型描述。 困难:对这些大量不同类型数据项,用数组已经不能有效解决问题。 新的需求:如何将不同的数据类型的成员(即数据项)组织起来,形成新的构造类型就是结构产生的实际背景。 设计和使用结构类型的方法 结构类型是一种能够将不同数据类型的成员组织起来所形成的一种新的构造类型。 结构类型的设计: 在程序设计中,要先确定需要被组织的数据类型,由这些数据类型说明的标识符称为结构类型的成员;通过定义结构类型将这些成员组织起来,形成新的数据类型。 结构类型的使用: 通过结构类型来声明对应的结构变量、结构指针、或结构数组。对结构变量、结构指针、或结构数组中成员的操作将最终完成所需要解决的计算任务。 注解 有些教材中将结构类型称为结构体、聚合类型。 C中的结构在其它程序设计语言中往往称为记录(record)。 以记录为基础,可以进一步构造文件、基于记录的数据库、以及许多动态数据结构。 10.2 结构类型声明和结构变量的声明及初始化 在声明结构类型时,需要规定该结构类型包括那些成员,要说明成员的数据类型和名字。 声明结构类型是创建用户自定义数据类型的过程,它并不创建对象,即不进行存储分配。 声明结构类型的一般形式是: struct 结构类型名{ 成员声明表 }; 其中:struct是关键字,用以说明结构类型。结构类型名是该结构类型的名字,它应该是C的合法标识符。一对花括号界定的是成员声明表 。 成员声明表的一般形式 数据类型1 成员名11,…,成员名1k; … 数据类型n 成员名n1,…,成员名nm; 数据类型1 和数据类型n可以相同,也可以不同。 每个声明允许用逗号为分隔符说明多个同类型的成员。 结构类型的声明应该以分号结束。 例:学生学习情况的结构类型声明 struct stu_study{ /* stu_study是结构类型名 */ char num[12]; /* 学号成员,字符数组类型 */ char name[9]; /* 姓名成员,字符数组类型 */ char sex; /* 性别成员,字符类型 */ int English; /* 英语成员,整型 */ int Math,Physics,C; / *数学、物理、C成员,整型 */ }; 该声明定义了一个struct stu_study的结构类型.stu_study是结构类型名,用以区分其他类型的结构。 struct stu_study实际上是一种新的构造类型名,可用于说明struct stu_study类型的结构变量。其在语法方面的作用与int,char等一样,起类型说明符的作用。 num、name、sex、English、Math、Physics、C是成员,它们被组织到一个新的struct stu_study的结构类型之中。 C关于结构类型声明的规定 (1) 同一结构内的成员不能同名。但成员可以与结构外部的变量同名,也可以与其他结构的成员同名。 (2) 成员的数据类型可以是除本结构类型以外的其他任何类型。 (3) 结构类型可以嵌套定义,形成嵌套结构。 (4) 结构类型是包含一系列成员的构造类型,成员在内存中连续存放,成员存储分配按照结构声明体中不同声明从上向下,同一声明中从左向右的顺序进行,每个成员所占存储空间的大小由其

文档评论(0)

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

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

1亿VIP精品文档

相关文档