二维数组的创建
int arr[3][4]; //表示3行4列的数组
char ch[3][4];
二维数组的初始化
- 不完全初始化
int arr[3][4] = {1,2,3,4,5,6};
当1234存在了第一行,56存在第二行之后,剩余元素默认是0
- 如何把123放在第一行,456放在第二行?
int arr[3][4] = {{1,2,3}, {4,5,6}}
;- 其实就是把二维数组,每一行都当做一个一维数组即可
- 一维数组中,可以不指定大小,根据初始化的值来确定大小。二维数组呢?
int arr[][] = {1,2,3,4,5,6};
// error!!! 编译器是确定不了有几行几列的int arr[][] = {{1,2,3}, {4,5,6}};
// error!!!这样不就3行3列了吗? 也是报错,因为arr[2][4]和arr[3][4]和这个是一样的- C语言二维数组中,列是不可以省略的!!!行可以省略 列省略了,只知道行数,是不能确定有多少列的,行省略了,只知道列数,是可以计算有多少行的。
int arr[3][4] = {{1,2,3,4}, {5,6,7,8}};
二维数组的使用
arr[i][j]
表示第i
行第j
列arr[i]
表示第i
行首地址