本文概述
二维数组可以定义为数组的数组。 2D数组以矩阵形式组织,可以表示为行和列的集合。但是,将创建2D数组以实现类似关系数据库的数据结构。它使一次性保存大量数据变得容易,这些数据可以在需要时传递给任意数量的函数。
用C声明二维数组
声明2D数组的语法如下。
data_type array_name[rows][columns];
考虑以下示例。
int twodimen[4][3];
这里,4是行数,3是列数。
用C初始化2D数组
在一维数组中,如果同时进行声明和初始化,则无需指定数组的大小。但是,这不适用于2D阵列。我们将必须至少定义数组的第二维。可以通过以下方式声明和定义二维数组。
int arr[4][3]={{1, 2, 3}, {2, 3, 4}, {3, 4, 5}, {4, 5, 6}};
C中的二维数组示例
#include<stdio.h>
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
C 2D数组示例:将元素存储在矩阵中并进行打印。
#include <stdio.h>
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
评论前必须登录!
注册