轻松学C++之数组.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
轻松学C之数组

第5章 数组前面章节中所涉及到的变量和常量都是一个数据,而且数据与数据之间的关系是松散的。本章将介绍一种数据集合类型——数组。数组是指在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来,并为其指定一个名字和长度。5.1 数组概述数组就是一组按照顺序排列在一起且类型相同的多个数据。每个数据称为数组元素。数组由数组名和下标两部分构成,如图5-1所示。图5-1 数组的形式数组有两个属性,如图5-2所示。图5-2 数组的两个属性例如,一个存储10个整形数的数组,其类型就是整数,而长度就是10,其内存布局如图5-3所示。图5-3 数组的内存布局除了类型相同外,数组中的数据还有一个特点,即各元素在内存中按照顺序依次排列。也就是说,在内存中数组是一块儿连续的内存,其大小等于各元素所占内存大小之和。由于各元素类型相同,所以数组所占内存大小也等于元素个数与一个元素所占内存大小的乘积。在图5-3中,假设数组第一个元素的内存地址是1000,则后续元素的地址依次递增一个整数所占字节数(本书采用的32位平台中整数占4字节),依次为1004,1008,……直到1036,如图5-4所示。图5-4 数组在内存中的地址注意:不要把数组长度和数组所占内存大小混为一谈。数组长度是数组中所含元素的个数;数组所占的内存是其中各元素所占内存大小的总和。5.2 数组的来源前面章节中讲解的C++语言的基本数据类型只能处理一些简单的数据类型,如果遇到复杂的具有相同类型的多个数据就很难解决。那么,C++语言提供了一种结构也就是数组来解决了这一个问题。下面请看一个示例,从而让大家感受一下数组的优越性。【示例5-1】比如说对一个班40人的期末成绩进行统计,用我们基本数据类型与一维数组的部分程序代码实现如图5-5所示:图5-5 基本数据类型与一维数组比较从这个例子中可以看出我们对于变量的存储使用数组的形式会比使用基本类型的存储方便,程序的可读性也会比较好。数组根据下标的个数,分为一维数组和多维数组。本章重点讲解一维数组和二维数组。5.3 一维数组一维数组在具体程序中使用是非常广泛的。一维数组是下标的个数只有一个的数组,即声明数组时只有一个[]包含的下标,如上面提到的数组array[10]就是一个一维数组。一维数组是最为简单的一类数组。本节详细介绍一维数组的声明定义、初始化和引用。5.3.1 一维数组的声明和定义要使用数组就要先声明定义。一维数组的一般定义语法如图5-6所示。图5-6 一维数组的声明和定义编译器在接到声明数组的指令后,将开辟一个与数组大小相同的、连续存储的内存空间来存放数组中的元素,并用数组名和这块内存区域相关联。自定义类型,如结构体、枚举体、类等,在后面的章节中介绍。如图5-7定义了一个简单的数组。图5-7 整形数组定义下面几个数组的定义包含了两个容易犯的错误,如图5-8所示。图5-8 数组定义时容易犯的错误同变量的定义一样,数组也可以连续定义,例如:int a[30], b[20];数组中的元素是不定的,则可以这样定义:const int NUMBER=20;int a[NUMBER];也可以用typedef来定义:const int SIZE=50;typedef double list[SIZE];list yourList;list myList;初始化数组就是在定义数组的时候,可以为每个数组元素提供初值。初始化数组的一般形式如图5-9所示。图5-9 初始化数组对于数组如果不提供初始化列表,则其值全部为随机数(不一定为0);如果提供初始化列表,但初始化列表中元素的个数少于数组的长度,则不足部分的数组元素用0来初始化。示例如图5-10所示。图5-10 列表中元素个数少于数组长度但是初始化列表中元素的个数不能多于数组的长度,如图5-11中数组的初始化是错误的。图5-11 列表中元素多于数组长度如果在定义数组时为所有元素都提供了初始化值,那么代表数组长度的常量表达式可以省略。此时数组的长度就是初始值的个数。示例如图5-12所示。图5-12 所有元素提供了初始化5.3.2 一维数组的引用一维数组的数组元素引用的一般形式如图5-13所示。图5-13 一维数组引用的一般形式注意:使用下标访问数组元素时,注意不可超出下标的取值范围。在定义数组之后,不可以直接对数组进行赋值。要想修改其中元素的值,只能通过下标的方法先找到要操作的元素,然后进行处理。示例如图5-14所示。图5-14 一维数组引用实际中常用循环来改变数组元素的值,示例如图5-15所示。图5-15 循环改变数组元素的值学习C++时,经常犯的一个错误就是直接对数组进行赋值等操作,例如想要让两个数组的元素有相同的值,其操作如图5-16所示。图5-16 两个数组的元素值相同【示例5-

文档评论(0)

5201314118 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:7065201001000004

1亿VIP精品文档

相关文档