二维数组
如果把一维数组作为数组的元素,这时候就是二维数组,二维数组以上的数组统称为多维数组。
二维数组的创建
type arr_name[常量值1][常量值2];
例如:
int arr[3][5];
(3表示数组有3行,5表示每行有5个元素,int表示数组里的每个元素都是整型类型,arr是数组名,可以根据实际情况起名字。)
double date[2][8];
二维数组的初始化
在创建变量或者数组的时候,给定一些初始值,被称为初始化,二维数组的初始化和一维数组一样,也是使用大括号初始化的
不完全初始化
依次初始化每一行,当不够的时候,剩余的元素初始化为0
例如:
int arr1[3][5]={1,2}; int arr2[3][5]={0};
完全初始化
例如:
int arr3[3][5]={1,2,3,4,5, 2,3,4,5,6, 3,4,5,6,7,};
按照行初始化
int arr4[3][5]={{1,2},{3,4},{5,6}};
初始化时可以省略行,但是不可以省略列
int arr5[ ][5]={1,2,3}; int arr6[ ][5]={1,2,3,4,5,6,7}; int arr7[ ][5]={{1,2},{3,4},{5,6}};
二维数组的下标
二维数组的访问也是使用下标的形式,二维数组是有行和列的,只要锁定了行和列就能唯一锁定二维数组里的一个元素
C语言规定,二维数组的行是从0开始的,列也是从0开始的
如下:
int arr[3][5]={1,2,3,4,5, 2,3,4,5,6, 3,4,5,6,7,};
二维数组的访问
如下:
结果为:
二维数组在内存中的存储
二维数组在内存中也是连续存放的
二维数组是一个存放一维数组的数组,二维数组的每个元素是一维数组
和一维数组一样,我们可以打印出二维数组中所有元素的地址
如下:
结果为:
输出数组中的所有元素
如下:
结果为: