آرایه دو بعدی می تواند به صورت آرایه ای از آرایه ها تعریف شود. آرایه ۲D به عنوان ماتریس سازماندهی شده است که می تواند به صورت مجموعه ای از ردیف ها و ستون ها نمایان شود. با این حال، آرایه های ۲D ایجاد شده برای پیاده سازی یک پایگاه داده رابطه ای به طور دقیق ساختار داده. این امر سهولت نگهداری بخش عمده داده ها را در یک زمان آسان می کند که می تواند به هر تعداد کارکردهای مورد نظر منتقل شود.
تعریف آرایه دو بعدی در C
data_type array_name[rows][columns];

به مثال زیر توجه کنید :

int twodimen[4][3];

در اینجا ۴ ردیف و ۳ عدد ستون است.

مقدار دهی به آرایه دوبعدی

int arr[4][3]={{1,2,3},{2,3,4},{3,4,5},{4,5,6}};

مثال :

#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

مثال : مرتب سازی و چاپ اطلاعات

#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 .... 
 
۵۶      ۱۰      ۳۰  
۳۴      ۲۱      ۳۴  
۴۵      ۵۶      ۷۸