数组是最基本的构造类型,它是一组相同类型数据的有序集合。数组中的元素在内存中连续存放,每个元素都属于同一数据类型,用数组名和下标可以唯一确定数组元素。
数组创建
一维数组创建
int a[10];
char a[10];
double a[5];
二维数组创建
int a[3][4];
char a[3][4];
double a[2][4];
数组的定义与引用
定义一维数组的一般形式为:类型名 数组名[常量表达式];类型名指定数组中每个元素的类型;数组名是一个地址常量,存放数组内存空间的首地址;数组长度是一个常量,设定数组的大小。例如:
int a[10]; //定义一个有10个整形元素的数组a
char c[200]; //定义一个有200个字符型元素的数组c
float f[5]; //定义一个有5个单精度浮点型元素的数组f
数组的引用
对于一维数组的引用,只能逐个引用数组元素的值而不能一次引用整个数组中的全部元素的值。数组元素的表达形式为:数组名[下标],下标可以是整型常量或者整形表达式。例如:
int k, a[10]; k = 3; a[0] = 23; a[k - 2] = a[0] + 1;
对于二维数组的定义,一般形式为:数组名[下标][下标]
引用二维数组的元素要指定两个下标,即行下标与列下标,形式为:数组名[行下标][列下标],行下标的合理取值范围是[0,行长度-1],列下标的合理取值范围是[0,列长度-1]。对前面定义的数组a,其元素分别为:int a[3][4]; //定义3行4列的二维数组,共12个元素
a[0][0],a[0][1],a[0][2],a[0][3],a[1][0],a[1][1],a[1][2],a[1][3],a[2][0],a[2][1],a[2][2],a[2][3],表示3行4列的矩阵。
二维数组的元素在内存内按行/列方式存放,即先存放第0行的元素,再存放第1行的元素.....其中每一行的元素再按照列的顺序存放。
数组的存储
在定义数组之后,系统根据数组元素的类型及个数在内存中分配了一段连续的存储单元用于存放数组中的各个元素,并对这些