数组
数组(array)是一种数据格式,能够存储多个同类型的值。每个值都存储在一个独立的数组元素中,计算机在内存中依次存储数组的各个元素。要创建数组,可使用声明语句。数组声明应指出以下三点:
- 存储在每个元素中的值的类型;
- 数组名
- 数组中的元素数
在C++中,可以通过修改简单变量的声明,添加中括号(其中包含元素数目)来完成数组声明。例如,下面的声明创建一个名为 months的数组,该数组有12个元素,每个元素都可以存储一个 short类型:
short months[12]
声名数组的通用格式如下
typeName arrayName[arraySize];
表达式 arraySize指定元素数目,它必须是整型常数(如10)或const值,也可以是常量表达式(如8·
sizeof(int),即其中所有的值在编译时都是已知的。具体地说, arraySize不能是变量,变量的值是在程序时设置的。
数组的很多用途都是基于这样一个事实:可以单独访问数组元素,方法是使用下标或索引来对元素进行编号。C++数组从0开始编号。C++使用带索引的方括号表示法来指定数组元素,例如, months[0]是 months数组的第一个元素, months[11]是最后一个元素。注意,最后一个元素的索引比数组长度小1(参见图1)。因此,数组声明能够使用个声明创建大量的变量,然后便可以用索引来标识和访问各个元素
数组的初始化规则
只有定义数组时才能使用初始化,此后就不能使用了,也不能将一个数组赋给另一个数组:
int cards[4] = {3,6,8,10}; //okay
int hand[4]; //okay
hand[4] = {5,6,7,9}; //not okay
hand = cards; // not okay
也可以使用下标分别给数组中的元素赋值。
初始化数组时,提供的值可以少于数组的元素数目。例如,下面的语