定义数组,就是要:
(
1
)规定数组的名称,其取名规则与变量名相同;
(
2
)规定数组的类型,包括其数据类型和存储类型;
(
3
)规定数组的大小,即数组的维数及包含的数组元素的个数。数组元
素就是包含在数组中的变量。
1
、一维数组的定义:
类型说明符
数组名
[
常量表达式
]
例如:
int data[10], number[5]
;
2
、一维数组元素的引用
数组名
[
下标
]
例如:
a[0]=a[5]+a[7]
-
a[2*3]
3
、 一维数组在内存中占一段连续的存储空间,其首地址:
a
或
&a[0]
4
、 一维数组的初始化
(
1
)
.
在定义数组时对数组元素赋以初值;
int a[10]={0, 1, 2, 3, 4, 5, 6,
7, 8, 9};
(
2
)
.
可以只给一部分元素赋值;
int a[10]={0, 1, 2, 3, 4};
(
3
)
.
如果想使一个数组中全部元素值为
0
,可简便实现;
20
百度文库
-
让每个人平等地提升自我
int a[10]={0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
;
其实,对
static
数组不赋初值,系统会对所有数组元素自动赋以
0
值,即
上句等价于:
static int a[10]
;
(
4
)
.
C
允许通过所赋初值的个数来隐含定义一维数组的大小;
int
a[]={0,1,2,3,4,5,0};
相当于
int a[7]={0,1,2,3,4,5,0};
二、二维数组的定义和引用
1
、二维数组的定义
类型说明符
数组名
[
常量表达式
1][
常量表达式
2];
如:
int number[5][4];
数组的存储结构:以行为主序的连续空间
2
、二维数组的引用: 二维数组元素的表示形式为:数组名
[
下标
][
下标
]
3
、二维数组的初始化
1.
分行给二维数组赋初值:如
static int a[3][4]={
{1,2,3,4},{5,6,7,8},{9,10,11,12}}
;
2.
可以将所有数据写在一个花括号内,按数组排列的顺序对元素赋初
值;如:
static int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
3.
如果花括号内的初值个数少于每行中的数组元素个数,则每行中后
面的元素自动赋初值
0
;也允许代表给每行元素赋初值的花括号的数
目少于数组的行数,这时,后面各行的元素也自动赋
0
值。
4.
C
语言规定,可以用初始化的方法来隐含定义二维数组第一维的大小,
即可以省略数组定义中第一个方括号中的表达式,但不能省略第二个
方括号中的表达式。如:
static int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
等价于
static int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12};
在定义时也可以只对部分元素赋初值而省略第一维长度,但应分行赋初
值。如:
static int a[ ][4]={
{0,0,3},{0},{0,10}};
4
、二维数组的输入与输出
用二重循环,以
a[m][n]
为例
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
……
}