3.也可以对数组部分赋值:int a[2][3]={1,2,3,4};相当于:
int[2][3]={{1,2,3},{4}};
4.和一维数组一样,如果对数组的全部元素赋值,可以不指定第一维的长度,但是第二维必须指定长度。
二维数组初始化例子代码:
#include "stdio.h"
main() {
int a[][3]={1,2,3,4,5,6}; /*全部初始化的时候可以省略第一维*/
int b[2][3]={{1,2,3},{4,5,6}}; /*不可写成int b[2][3]={{1,2,3}{4,5,6}};的形式*/
int c[3][3]={{1},{2},{3}};
int d[3][3]={{2},{0},{4}}; /*第二行的元素空时不可省略{}和{}内的0*/
int e[3][3]={{0,1},{0,0,3},{4}}; /*对一列中的其他值赋值时,不可省略前面的0*/
int i,j;
printf("output array a:\n"); /*分行输出各个数组的值*/
for (i=0;i<2;i++){
for (j=0;j<3;j++)
printf("%d ",a[i][j]);
printf("\n");
}
printf("output array b:\n");
for (i=0;i<2;i++){
for (j=0;j<3;j++)
printf("%d ",b[i][j]);
printf("\n");
}
printf("output array c:\n");
for (i=0;i<3;i++){
for (j=0;j<3;j++)
printf("%d ",c[i][j]);
printf("\n");
}
printf("output array d:\n");
for (i=0;i<3;i++){
for (j=0;j<3;j++)
printf("%d ",d[i][j]);
printf("\n");
}
printf("output array e:\n");
for (i=0;i<3;i++){
for (j=0;j<3;j++)
printf("%d ",e[i][j]);
printf("\n");
}
}