四、二维数组的初始化(按行存放) 1、按存放顺序赋值 如:int x[2][3]={1,2,3,4,5,6}; 结果为:x[0][0]=1,x[0][1]=2,x[0][2]=3 x[1][0]=4,x[1][1]=5,x[1][2]=6 2、按行赋值 如:int x[2][3]={{1,2,3},{4,5,6}}; 结果同上。 3、部分赋值 如:static int x[2][3]={1,2,4}; 结果为:x[0][0]=1,x[0][1]=2,x[0][2]=4 x[1][0]=0,x[1][1]=0,x[1][2]=0 如:static int x[2][3]={{1,2},{4}}; 结果为:x[0][0]=1,x[0][1]=2,x[0][2]=0 x[1][0]=4,x[1][1]=0,x[1][2]=0
3、若对全部数组元素赋初值时,可以不指定数组长度。 如:int c[]={1,2,3,4,5}; 自动定义c数组长度为5 注意:若被定义数组长度与提供初值的个数不相同, 则数组长度不能省略。 如:int a[10]={1,2,3,4};
#include <stdio.h> void main() {int a[5]={1,2,3,4,5}; int b[5]={1,2,3}; int c[ ]={1,2,3,4,5}; static int d[5]; int e[5]; int i; for(i=0;i<5;i++)printf(“%d”,a[i]);printf(“\n”); for(i=0;i<5;i++)printf(“%d”,b[i]);printf(“\n”); for(i=0;i<5;i++)printf(“%d”,c[i]);printf(“\n”); for(i=0;i<5;i++)printf(“%d”,d[i]);printf(“\n”); for(i=0;i<5;i++)printf(“%d”,e[i]);printf(“\n”); }