数组(array)是一种复合类型的数据格式,能够存储多个同类型的值,每个值都存储在一个个独立的数组元素中,计算机将元素依次存储在内存中。
数组
数组声明
数组声明的基本格式如下:
typeName arrayName[arraySize];( eg. int cost[7]; )
- 元素的类型
- 数组名
- 元素数(数组大小)
注意:
- arraySize不可以是一个变量
- 数组编号是从0开始的
数组初始化
数组初始化有两种方法
- 使用索引为元素逐个赋值
cost[0] = 1; cost[1] = 2; ......
- 在声明时使用初始化列表赋值
int cost[7] = {1, 2, 3, 4, 5, 6, 7}; 也可以int cost[7] {1, 2, 3, 4, 5, 6, 7}; (C++11 标准可省略 = )
(C++11标准可将后面的大括号设置为空白,即所有元素全为0;
int cost[7] = { }; 或者 int cost[7] { };
列表初始化禁止缩窄转换;)
long shifs[4] = {2, 4, 3.0}; 浮点数转换为整数属于缩窄操作
数组初始化的规则
- 只有定义数组时才能使用列表初始化
- 可以随时使用下标为数组元素赋值
- 不可将一个数组的赋给另一个数组
- 列表初始化数组提供的值可以少于元素数目,未初始化的元素赋值为0
- 列表初始化数组的[ ]内可以设置为空,编译器将自动计算元素个数