C++ 支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。
所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素。
声明数组
在 C++ 中要声明一个数组,需要指定元素的类型和元素的数量:
一维数组:
1 | type arrayName [ arraySize ]; |
arraySize
必须是一个大于零的整数常量,type
可以是任意有效的 C++ 数据类型。
例如,要声明一个类型为 double 的包含 10 个元素的数组 balance,声明语句如下:
1 | double balance[10]; |
数组在使用时可以是一个含有变量的表达式,但是,在数组声明时必须用常量表达式。例如:
1 | // 合法 |
如果想声明一个任意长度的数组,可以用显式的类型转换,例如:
1 | int a=19; |
初始化数组
在 C++ 中,可以逐个初始化数组,也可以使用一个初始化语句,如下所示:
1 | double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0}; |
如果省略掉了数组的大小,数组的大小则为初始化时元素的个数:
1 | double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0}; |
为数组中某个元素赋值的实例:
1 | balance[4] = 51.0; |
数组直接初始化 char
数组是特殊的,这种初始化要记得字符是以一个 null
结尾的。
实例
1 | char a1[] = {'C', '+', '+'}; // 初始化,没有 null |
访问数组元素
数组元素可以通过数组名称加索引进行访问。元素的索引是放在方括号内,跟在数组名称的后边。
1 | double salary = balance[9]; |