内容正文:
第6章 数组
第6章 数组
一维数组的定义
一维数组的应用
二维数组
多维数组和字符数组
字符串
综合实例++
2
二维数组
这节刘我们讨论二维数组。
3
二维数组的定义
一维数组的元素类型可以仍是一维数组,这样的数组称为二维数组。
一维数组a的数组元素有a[0],a[1]和a[2] ,若这3个数组元素的类型是长度为4个的一维整型数组(int [4]),即a[0],a[1]和a[2]也是一维数组,数组a就是一个二维数组。
一维int型数组a[0]有4个数组元素,分别为a[0][0]、 a[0][1]、a[0][2]和a[0][3],这4个数组元素可看作普通的int型变量。
一维数组的元素类型可以仍是一维数组,这样的数组称为二维数组。
一维数组a的数组元素有a[0],a[1]和a[2] ,若这3个数组元素的类型
是长度为4个的一维整型数组(int [4]),即a[0],a[1]和a[2]也是一维数组,
数组a就是一个二维数组。
二维数组a的形态如图所示。
a[0]是二维数组a的一个数组元素,但它是一维int型数组,有4个数组元素,
分别为a[0][0]、 a[0][1]、a[0][2]和a[0][3],这4个数组元素可看作普通的int型变量。
4
int a[3][4];
语句int a[3][4];定义了一个二维数组a,也可认为是定义了3个一维数组:a[0],a[1]和a[2]。由于每个一维数组又有4个整型元素,故也可理解为定义了12整型变量,分别为:a[0][0]、a[0][1]、a[0][2]、a[0][3];a[1][0]、a[1][1]、a[1][2]、a[1][3];a[2][0]、a[2][1]、a[2][2]、a[2][3]。
a[1]既是数组a的数组元素,又是数组元素a[1][0] 、a[1][1]、a[1][2]和a[1][3]的数组名。
语句int a[3][4];定义了一个二维数组a,也可认为是定义了3个一维数组:a[0],a[1]和a[2];
由于每个一维数组又有4个整型元素,故也可理解为定义了12整型变量,分别为:
a[0][0]、a[0][1]、a[0][2]、a[0][3];a[1][0]、a[1][1]、a[1][2]、a[1][3];a[2][0]、a[2][1]、a[2][2]、a[2][3]。
a[1]既是数组a的数组元素,又是数组元素a[1][0] 、a[1][1]、a[1][2]和a[1][3]的数组名。
5
二维数组的直观理解
二维数组可用于存储矩阵,因此常说几行几列的二维数组。语句int a[3][4];中数组a是一个3行4列的二维整型数组,其直观理解如图所示。
二维数组可用于存储矩阵,因此常说几行几列的二维数组。语句int a[3][4];中数组a是一个3行4列的二维整型数组,其直观理解如图所示。
6
二维数组的初始化
二维数组的初始化的初始化有两种方式。定义一个2行3列的float型二维数组f,并将其各数组元素初始化为:f[0][0]=1.1,f[0][1]=2.2,f[0][2]=3.3,f[1][0]=4.4,f[1][1]=5.5,f[1][2]=0。
若认为二维数组f是有2个数组元素的一维数组,则初始化语句为float f[2][3] = {{1.1, 2.2, 3.3}, {4.4, 5.5}};。
若认为二维数组f是6个存储单元相连的float型普通变量,则初始化语句为float p[2][3] = {1.1, 2.2, 3.3, 4.4, 5.5};。
二维数组的初始化的初始化有两种方式。定义一个2行3列的float型二维数组f,并将其各数组元素初始化为:
f[0][0]=1.1,f[0][1]=2.2,f[0][2]=3.3,f[1][0]=4.4,f[1][1]=5.5,f[1][2]=0。
若认为二维数组f是有2个数组元素的一维数组,则初始化语句为float f[2][3] = {{1.1, 2.2, 3.3}, {4.4, 5.5}};。
若认为二维数组f是6个存储单元相连的float型普通变量,则初始化语句为float p[2][3] = {1.1, 2.2, 3.3, 4.4, 5.5};。
7
思考题
有int a[3][2] = {{1}, {0}, {0, 3}}; ,写出二维数组a中6个int型数组元素的值。
a[0][0]=1、a[0][1]=0;a[1][0]=0、a[1][1]=0;a[2][0]=0、a[2][1]=3。
有char ca[2][3] = {'X', 'Y', 'Z'}; ,写出二维数组ca中6个char数组元素的值。
ca[0][0]='X'、ca[0][1]='Y';ca[0][2]='Z'、ca[1][0]=