array initial recognition
float a[5][12];
a是一个二维形式的数组,有5行12列,数组的每个元素的类型都是float类型。
-
定义
一位数组可以省略"[]"里的数组大小。
二维数组可以省略行数,不可以省略列数,即a[][6]正确。 -
初始化
a[5][12]={x,x,x,x,……};
若大括号里的元素小于a的大小,则按顺序未初始化的元素为0;
若大括号里的元素大于a的大小,则报错。
array later recognition
float a[5][12];
a内含5个数组元素的数组,每个数组元素又内含12个float类型的元素。
即主数组(master array)含有5个元素,每个元素又内含12个元素的数组。
- 初始化(指定初始化器(designated Initializer))
一维: int a[6]={[5]=212}; => a[1]~a[5]=0,a[6]=212。//C99标准
二维: int a[5][12]={{1,2,3,4,5,6,7,8,9,10},
{1,2,3,4,5,6,7,8,9,10,11,12},
{1,2,3,4,5,6,7,8,9,10,11,12},
{1,2,3,4,5,6,7,8,9,10,11,12},
{1,2,3,4,5,6,7,8,9,10,11,12}} //若每行的初始化用{}分开,则此行未初始化的元素为0, 即a[1][10]=a[1][11]=0
也可以只用最外层的{},只要数据个数与数组匹配即可。 - 数组大小
若想循环输出数组,或者给数组输入数据,但是未给数组分配指定的空间,如a[]={…};
循环中必须以**sizeof a/sizeof a[0]**的形式设置。 - 指针和数组
a=&a[0] //数组名是该数组首元素的地址