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

C语言程序设计(第三版) 教学课件 作者 罗坚 王声决 主编 第5章 数组类型与指针类型.ppt

C语言程序设计(第三版) 教学课件 作者 罗坚 王声决 主编 第5章 数组类型与指针类型.ppt

  1. 1、本文档共106页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计(第3版) 主 教 材:C语言程序设计(第三版) 书 号:ISBN 978-7-113-09512-3 中国铁道出版社 2009年2月 第3版 配套教材:C语言程序设计实验教程 书 号:ISBN 978-7-113-09513-0 中国铁道出版社 2009年2月 第1版 作者电子邮箱: Luojian116@126.com wsjwhz@126.com 5.1 数据类型的构造 系统预先提供的类型: C语言提供的基本数据类型,大致分为整型、实型、字符型等三大类 用户新定义的类型: C语言提供构造新类型的方法,可以在已有数据类型的基础上构造新的数据类型,这种新的类型称为构造类型,根据构造方法的不同分为数组、指针、结构、联合等四种 例如: C语言没有描述出生日期的数据类型,但提供的结构构造方法可以构造出描述该种的数据的新类型 出生日期的数据类型的构造 struct Birthday { int year; int month; int day; }; 建立一个出生日期数据 struct Birthday x; 说明: C语言中的数据表示为常量或变量两种形式,构造类型一般只提供变量形式的数据。 匿名类型建立一个出生日期数据 struct { int year; int month; int day; } x; 说明: 匿名方式构造的类型只能使用一次,优点是无需命名比较简单。 类型定义命令 typedef 数据的定义; 说明: 可以将类型的构造规则记录下来并命名,以后使用该名称就是使用该构造规则。 例如: typedef struct { int year; int month; int day; } NBirthday; NBirthday x; 说明: 使用类型定义命令定义的类型名建立变量x可以省略struct保留字,因而更简单。 基本类型也可以根据使用场合定义别名以更具含义,例如: typedef int Year; Year year; 出生日期类型的构造因而变为: typedef struct { Year year; Month month; Day day; } NBirthday; 5.2 数组类型 数组类型的定义 数组是相互关联的一批数据的序列,序列中的数据称为数组的成员,可按排列顺序编号,起始编号为零,下个元素编号递增壹,通过编号可以唯一指定数组中的数据成员。 数组中的成员数据可以是基本类型,也可以是构造类型,若成员数据是整型则称为整型数组,若成员数据是结构类型则称为结构数组,若成员数据是指针类型则称为指针数组,若成员数据是数组则称为二维数组 数组类型的定义(续) 数组通过名称区分和使用,名称是一个标识符必须唯一,后面可以加上一对方括号界定的编号来指定一个数组成员,编号可以是一个数也可以是一个变量或表达式 例如: 有一个数组类型的变量a,包含了10个元素,可以通过a[0],a[1],……,a[9]作为元素名字来使用这10个数组元素,也可以通过a[i]来作为元素名字。 数组的存储 数组的存储涉及两个问题: 每个成员要有存储空间且每个成员可以通过编号找到存储空间的位置。 数组的存储方法: 分配连续的一块内存区能够存放得下所有的成员,然后将数组成员按编号顺序连续存放,零号成员存放在这块内存区的最前面,假设内存地址为start,由于每个成员所占存储空间的大小是相同的,假设为m个字节,这时i号成员的内存地址就等于start+m*i。 存储方式的一些限制: 首先,定义数组时给定一个编译时可知道的数组大小,不能在运行时根据需要来给定数组大小,即定义数组大小的值必须是常量表达式。如果要让数组大小在运行时才确定,可以采用后面介绍的动态数组机制。 其次,使用数组成员时编号有一个明确的范围,10个成员的数组编号从0到9,不能超过这个范围,这种现象称为下标的有界性。 一维数组 一维数组的成员不再是数组,每个数组成员只需一个下标编号就可以指定。数组成员一般是基本类型,也可以是结构,指针等构造类型。 一维数组变量的定义 元素类型 数组变量名[常量表达式]={初值表}; 说明 元素类型是数组的数据成员的类型。 常量表达式的值定义了数组的大小,必须为正整型,当提供了初值表时可以省略,这时以初值表中元素个数作为数组的大小。 数组变量名需要符合标识符的要求,不能与已有的变量名或保留字相同。 初值表用于提供每个数组成员的初值,若不想提供初值可以省略,无初始化的数组成员值是不确定的随机数。 例如: int a[10

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档