📜  C中的二维数组

📅  最后修改于: 2020-10-22 01:22:41             🧑  作者: Mango

C中的二维数组

二维数组可以定义为数组的数组。 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
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   
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