在C++中,数组是一种用于存储相同类型的元素序列的数据结构。数组提供了一种有效的方式来存储和访问多个相同类型的元素,这些元素按照顺序存储在连续的内存空间中。
1.数组的声明
在C++中,声明数组需要指定数组的类型和大小。一般的数组声明语法如下:
type arrayName[arraySize];
其中:
type
是数组中元素的数据类型。arrayName
是数组的名称。arraySize
是数组的大小,表示数组可以容纳的元素数量。
例如,声明一个包含5个整数的数组:
int myArray[5];
2.数组初始化
在声明数组时,可以选择性地对数组进行初始化。初始化可以在声明数组时立即进行,也可以在后续的代码中进行。以下是几种初始化数组的方法:
2.1声明时初始化
int myArray1[5] = {1, 2, 3, 4, 5};
int myArray2[5] = {1, 2}; // 只提供部分元素的初始值,剩余的元素自动初始化为0, myArray现在是
//{1, 2, 0, 0, 0}
2.2使用时初始化
int myArray[5];
for(int i = 0; i < 5; ++i) {
myArray[i] = i + 1;
}
3.访问数组元素
可以使用索引(下标)来访问数组中的元素。数组的索引从0开始,最后一个元素的索引是数组大小减1。例如,对于上面声明的数组myArray
,可以通过以下方式访问元素:
int x = myArray[0]; // 第一个元素
int y = myArray[2]; // 第三个元素
4.数组的特性
- 数组中的元素在内存中是连续存储的,因此访问元素的时间是常数时间。
- 数组的大小在编译时必须是常量表达式,即大小必须在编译时已知。
- 数组是定长的,大小在声明时确定,不能动态改变大小。
其他
C++中还支持多维数组,例如二维数组、三维数组等。多维数组的声明和初始化类似于一维数组,只是需要提供额外的维度信息。例如
int twoDArray[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
这是一个3x3的二维数组的例子。
注意事项
- 访问数组元素时要确保不会越界,否则会导致未定义行为。
- 数组大小必须是正整数,且不超过编译器规定的最大限制。
- 数组名通常被视为指向数组第一个元素的指针。