第七章数组1

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如果在声明的同时给元素赋初值,最多可以省略第一维中的下标个数,
例如: int i[][3]={ {1,2,3}, {4,5,6}};
等价 int i[2][3]={ {1,2,3}, {4,5,6}}; int i[][]={ {1,2,3}, {4,5,6}}; 实例:ch7_6.txt
须注意在赋初值时,初始值表中的数据个数不能多于数据元素的个数。例如:
一个n维数组可看成是由多个n-1维数组构成的。 进行数组声明时,也可以给其中部分或全部元素赋初值。 对于一维数组,初始化有以下两种形式:
形式 举例 例题解释 (1)全部元素都初始化 int i[5]={1,2,3,4,5}; 声明了一个有5个元素的数 组,每个元素都被赋初值。 其中i[0]=1,i[1]=2, i[2]=3,i[3]=4, i[4]=5。 (2)部分元素被初始化 int i[5]={1,2}; 初始化了数组的前两个元素: i[0]= 1,i[1]=2。其他 元素则未赋值,程序一般都 自动给它们赋0。
数组元素可以是C++语言中的任一合法数据类型,自然也就可以是 char型,即字符型。 不过由于C++语言中没有字符串类型,我们通常采用字符数组来存放 和处理字符串,因此,它又有一些特殊的地方。
常量表达式n表示 的是第n维的大小。
数据类型
数组名[常量表达式1][常量表达式2]…[常量表达式n];
“[]”的个数代表着 数组的维数。一个方括 号表示一维数组,两个 表示二维数组,…,n 个表示表示n维数组。
是一个标识符, 代表着数组元素 在内存中的起始 地址,是一个常 量,不能给它赋 值。

这些表达式的值 的乘积就是数组元素 的个数。
说明:把i[0][0]初始化为1, i[0][1]初始化为2,i[0] [2]初始化为3,i[1][0]初 始化为4,i[1][1]初始化为5, i[1][2]初始化为6。
说明:把i[0][0]初始化为1, 多维数组也可以只初始化部分元素,例如: i[0][1]初始化为2,i[0] [2]初始化为3,i[1][0]初 int i[2][3]={1,2,3,4 }; 始化为4,其他取默认值0。

二维数组的存储
三维数组:可把它看成是由多个二维数组构成的。 例如: int i[2][3][4];
i [0] [0] [0] i [0] [0] [1] i [0] [0] [2] i [0] [0] [3] i [0] [1] [0] i [0] [1] [1] i [0] [1] [2] i [0] [1] [3] i [0] [2] [0] i [0] [2] [1] i [0] [2] [2] i [0] [2] [3] i [1] [0] [0] i [1] [0] [1] i [1] [0] [2] i [1] [0] [3] i [1] [1] [0] i [1] [1] [1] i [1] [1] [2] i [1] [1] [3] i [1] [2] [0] i [1] [2] [1] i [1] [2] [2] i [1] [2] [3] 图 三维数组的存储

对于全部元素都被初始化的情况,还有如下声明形式: int i[]={1,2,3,4,5}; 实例:ch7_2.txt
在声明时可不说明数组元素的个数。元素的个数与初始化数据的个数相同。
多维数组的初始化与一维数组相似,需要注意的是必须按照前 面所讲的存储顺序列出数组元素的值。
例如: int i[2][3]={1,2,3,4,5,6}; 等价 int i[2][3]={ {1,2,3}, {4,5,6}};
声明了一个一维数组 举例 解释 cha源自文库 c[5];
声明了一个二维数组 int i[5][2];
c是数组名,数组有5个元素, 每个元素都是char型变量。
i是数组名,数组有10个元素, 都是int型变量。
下标表达式也限定了数组中元素的排列次序及每个元素在数组中的 位置,我们可以通过数组名和下标顺利地访问其中的每一个元素。 访问数组中元素的一般形式如下: 数组名[下标表达式1][下标表达式2]……[下标表达式n] 下标表达式的个数应与数组的维数相同,下标表达式的值从0开始。
char c[ 5 ] ; int i[5][2];
有5个元素:c[0], c[1], c[2], c [3], c[4]。
有10个元素:i[0][0],i[0][1], i[1][0],i[1][1], i[2][0], i[2] [1], i[3][0], i[3][1], i[4] [0],i[4][1]。
数组元素在内存中是顺序存储的。
一维数组:就是简单地按下标顺序存储。
例如:
int i[5]; i[0]
i[1]
i[2]
i[3]
i[4]

一维数组的存储
二维数组:可以把它看成是由多个一维数组构成的。
例如:
int i[2][3];
i[0][1] i[0][2] i[1][0] i[1][2]
i[0][0]

7章
数组
7.1 数组
7.2 向函数传递数组
26个英文字母,利用1-6章所学知识,如何在内存中存储?
在需要处理一批具有相同类型而且又有密切关联的数据时,数组 是一个非常有用的可构造的数据类型(非基本数据类型) 。学习本章 后,要求理解数组下标,掌握初始化数组的方法,学会把数组用作 函数参数,学会二维数组的使用。
【 7.1数组】
数组是类型相同、数目一定的变量的有序集合,组成数组的变量称为 该数组的元素。在内存分配时,数组对应着一组顺序排放的存储单元 ,数组的每个元素按照声明时的次序在其中存放。
【 7.1 数组】
数组的声明形式如下:
给出了数组中元素的 类型,它可以是C++ 语言中任一合法类型。 常量表达式又称下 标表达式,必须是 unsigned int类型的 整数。
int i[5]={1,2,3,4,5,6}; 就是错误的,程序在编译时,系统会报错。
与数组元素的初始化不同,在给数组元素赋值时,必须逐一进行。 例如:对于下述的数组初始化:
int i[3]={1,2,3 };
等价
注 int i[3]; i[0]=1; i[1]=2; i[2]=3;
在给数组元素赋值时, 一定要注意数组越界问题。
相关文档
最新文档