一维数组
定义:
所谓一维数组是指只有一个下标的数组。它在计算机的内存中是连续存储的。
C语言中,一维数组的说明一般形式如下:
<存储类型> <数据类型 > <数组名>[<表达式>] ;
注意事项
C语言对数组不作越界检查,使用时要注意
int a[5]; a[5] = 10 //错误
用变量定义数组维数时,要给变量赋值
int i ; int a[i]; //错误
一维数组引用
数组必须先定义,后使用
只能逐个引用数组元素,不能一次引用整个数组
数组元素表示形式:数组名[下标]
printf("%d\r\n",a[0]);
一维数组初始化
初始化方式:在定义数组时,为数组元素赋初值
int a[5]={1,2,3,4,5};
说明:
数组不初始化,其元素值为随机数
对static数组元素不赋初值,系统会自动赋以0值
只给部分数组元素赋初值
static int a[5];
等价于:a[0]=0; a[1]=0; a[2]=0; a[3]=0; a[4]=0;
int a[5]={6,2,3};
等价于:a[0]=6; a[1]=2;a[2]=3; a[3]=0; a[4]=0;
int a[3]={6,2,3,5,1}; (×)
int a[]={1,2,3,4,5,6};//编译系统根据初值个数确定数组维数
二维数组
定义:
(声明时列数不能省略,行数可以)
数据类型 数组名[行数] [列数];
数组元素的存放顺序:
二维数组引用
int a[2][3];
for(i=0;i<2;i++)
for(j=0;j<3;j++)
printf("%d",a[i][j]);
二维数组初始化
int a[2][3] = {{1,2,3},{4,5,6},{7,8,9}};
int a[2][3] = {{1,2},{4,6},{7,8,9}};//没有赋值的默认给0
int a[2][3] = {{1,2,3}};//没有赋值的默认给0
int a[][3] = {{1,2,3},{4}};//默认两行