相对于简单数据类型而言,数组(Array)是一系列相同数据类型对象的集合。这个集合共享同一个变量名,其中单个对象(也称数组的元素)需使用数组下标访问。
(1) 语法定义
数组定义由类型名标识符和维数组成,如:
int nArray[5] = {0};
以上代码定义了一个int类型数组,其数组变量名为nArray。“[5]”表达该数组有5个元素,一个中括号代表它是一维数组,其元素的访问下标为0~4。“{0}”是C语言的数组直接初始化方法,表达该数组所有元素均被初始化为0。
除了直接初始化外,数组是不可能直接用运算符“=”赋值的,但可以给数组指定元素用运算符“=”赋值。如:
nArray[2] = 123;
注意:数组元素的下标必然是从0开始。所以以上代码实际是给数组nArray的第3个元素赋值为123。
(2) 多维数组
数组可以是多维数组,每一维用一个方括号对来指定。如:
int nArray2[2][3];
以上代码定义了一个int类型二维数组,第一维数量为2,第二维数量为3。可以理解为该数组有两个一维数组组成,每个一维数组均包含3个元素。
多维数组使用直接初始化方法时,可以按维数初始化,如
int nArray2[2][3] = {{1,2,3},{4,5,6}};
也可以像一维数组,按元素存放顺序初始化,如:
int nArray2[2][3] = {1,2,3,4,5,6};
二维数组元素的访问下标需要标明每一维的具体下标位置,如nArray2[0][2]代表以上数组的第3个元素。
(3) 数组内存
数组的内存占用是连续的。一个数组占用的内存大小,是其所有数组元素占用内存的总大小。如以下一维数组:
int nArray[5] = {1,2,3,4,5};
在VS2010调试器里内存窗口查看(在调试运行时,可点击“调试”--