1.什么是多维数组?
C 语言中的多维数组(multidimensional array)其实就是使用数组作为数组的元素。 n 维数组的元素是 n-1 维数组。 例如,二维数组的每个元素都是一维数组。
二维数组A[3][4] :它的元素由3个一维数组组成。
2.如何定义多维数组?
通过上一篇我们知道如何声明一维数组,那么二维数组我们该如何声明呢?
类型名 数组名[ 行表达式 ][ 列表达式];
例如:定义 int arr[ 3 ][ 4 ] 的二维数组,它是由 3 个一维数组组成,每个一维数组的大小是 4 个整型元素。可以只对部分元素赋值,未赋值的元素自动取 0 值。(按行优先存储)
int arr[3][4]={1,2,3,4,5,6,7,8,9};
A[][0] | A[][1] | A[][2] | A[][3] | |
A[0] | 1 | 2 | 3 | 4 |
A[1] | 5 | 6 | 7 | 8 |
A[2] | 9 | 0 | 0 | 0 |
3.初始化多维数组
如果对二维数组的初始化,那么第一维的长度是可以缺省的,但是第二维不可缺省。
int A[][4]={1,2,3,4,5,6,7,8,9};//3行4列,未赋值的补零
int B[][4]={{1,2},{3,4},{5,6}};//3行4列
4.如何使用多维数组?
#include<stdio.h>
int main()
{
int A[3][4]={1,1,1,1,1,1};
for(int i=0;i<3;i++){
for(int j=0;j<4;j++){
A[i][j]=A[i][j]+1;
}
}
for(int i=0;i<3;i++){
for(int j=0;j<4;j++){
printf("%d\t",A[i][j]);
}
printf("\n");
}
return 0;
}