📅  最后修改于: 2020-10-22 01:22:41             🧑  作者: Mango
二维数组可以定义为数组的数组。 2D数组以矩阵形式组织,可以表示为行和列的集合。但是,将创建2D数组以实现类似关系数据库的数据结构。它使一次性保存大量数据变得容易,可以将其传递给任何需要的功能。
下面给出了声明2D数组的语法。
data_type array_name[rows][columns];
考虑以下示例。
int twodimen[4][3];
这里,4是行数,3是列数。
在一维数组中,如果声明和初始化同时完成,则无需指定数组的大小。但是,这不适用于2D阵列。我们将必须至少定义数组的第二维。可以通过以下方式声明和定义二维数组。
int arr[4][3]={{1,2,3},{2,3,4},{3,4,5},{4,5,6}};
#include
int main(){
int i=0,j=0;
int arr[4][3]={{1,2,3},{2,3,4},{3,4,5},{4,5,6}};
//traversing 2D array
for(i=0;i<4;i++){
for(j=0;j<3;j++){
printf("arr[%d] [%d] = %d \n",i,j,arr[i][j]);
}//end of j
}//end of i
return 0;
}
输出量
arr[0][0] = 1
arr[0][1] = 2
arr[0][2] = 3
arr[1][0] = 2
arr[1][1] = 3
arr[1][2] = 4
arr[2][0] = 3
arr[2][1] = 4
arr[2][2] = 5
arr[3][0] = 4
arr[3][1] = 5
arr[3][2] = 6
#include
void main ()
{
int arr[3][3],i,j;
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
printf("Enter a[%d][%d]: ",i,j);
scanf("%d",&arr[i][j]);
}
}
printf("\n printing the elements ....\n");
for(i=0;i<3;i++)
{
printf("\n");
for (j=0;j<3;j++)
{
printf("%d\t",arr[i][j]);
}
}
}
输出量
Enter a[0][0]: 56
Enter a[0][1]: 10
Enter a[0][2]: 30
Enter a[1][0]: 34
Enter a[1][1]: 21
Enter a[1][2]: 34
Enter a[2][0]: 45
Enter a[2][1]: 56
Enter a[2][2]: 78
printing the elements ....
56 10 30
34 21 34
45 56 78