多维数组并没有特殊的语法,只不过是数组的元素仍然是数组。多维数组定义方式:
    类型  数组名 [ 常量N1 ][ 常量N2 ]……[ 常量NN ]
    上面格式代表的意义是,”数组名“ 有 N1 个元素,每个元素又是拥有 N2 个元素的数组,N2个元素每个元素又是N3个元素的数组……,以此类推。
    
    
        - int  a[5][8] ;  
- char s[3][6][4];    
引用格式如下:
    数组名[下标1][下标2]……[下标N]
    例:
    
    
        - char  s[3] [6] [4];
- s[1] [3] [2] = 'c';
- putchar( s[1] [3] [2] );
多维数组初始化举例:
    
    
        - int n[3] [2] = {{3,3}, {1,2}, {4,4}};
- char  s[3] [2] [4] = {{{'1','2','3','4'}, {'1','1','1','2'}}
-                 {{'a','a','a','a'}, {'b','b','b','b'}}  ,
-                 {{'x','x','x','x'}, {'x','x','x','x'}}
-             };
以二维数组举例,用户输入一个4 X 4矩阵,然后输出:
    
    
        - #include<stdio.h>
- int main( )
- {
-     int a[4][4];    
-     for(int i = 0 ; i < 4 ;++i)  
-     {
-         printf("请输入矩阵第%d行\n",i + 1);
-         for(int j = 0;j < 4;++j) 
-         {
-             scanf("%d",&a[i][j]);
-         }
-     }
-     printf("矩阵如下:\n");
-     for(int i = 0 ; i < 4 ;++i)
-     {
-         for(int j = 0;j < 4;++j)
-         {
-             printf("%d ",a[i][j]);
-         }
-         putchar('\n');
-     }
-     getchar( ) ;getchar( ) ;    
-     return 0;
- }
效果类似如下图:
    
    输入方式不同,效果不同,仅供参考。