在 C++ 中,数组是一种用于存储多个相同类型数据的容器。定义数组时,你需要指定数组的类型和大小。以下是 C++ 中定义数组的基本方法和一些示例。
1. 定义一维数组
要定义一个一维数组,可以使用以下语法:
DataType arrayName[arraySize];
示例
#include <iostream>
int main() {
// 定义一个整型数组,大小为5
int numbers[5];
// 给数组元素赋值
numbers[0] = 10;
numbers[1] = 20;
numbers[2] = 30;
numbers[3] = 40;
numbers[4] = 50;
// 输出数组元素
for (int i = 0; i < 5; i++) {
std::cout << "Element at index " << i << ": " << numbers[i] << std::endl;
}
return 0;
}
2. 初始化一维数组
可以在定义数组时直接进行初始化:
int numbers[5] = {10, 20, 30, 40, 50};
如果数组的大小没有指定,编译器会根据初始化的元素数量自动推断数组大小:
int numbers[] = {10, 20, 30, 40, 50}; // 大小为5
3. 定义多维数组
C++ 还支持多维数组,例如二维数组。定义二维数组的语法如下:
DataType arrayName[size1][size2];
示例
#include <iostream>
int main() {
// 定义一个 2x3 的整型二维数组
int matrix[2][3] = {
{1, 2, 3},
{4, 5, 6}
};
// 输出二维数组的元素
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
std::cout << "Element at [" << i << "][" << j << "]: " << matrix[i][j] << std::endl;
}
}
return 0;
}
4. 使用数组的常见操作
访问数组元素
可以通过索引访问数组元素,索引从 0 开始。
int firstElement = numbers[0]; // 访问第一个元素
修改数组元素
可以直接通过索引修改数组中的元素。
numbers[2] = 35; // 修改第三个元素
数组的大小
可以使用 sizeof
运算符来获取数组的大小(字节数),然后通过字节数除以单个元素的大小来得到元素个数:
int size = sizeof(numbers) / sizeof(numbers[0]); // 计算一维数组的元素个数
5. 注意事项
- 数组的索引越界会导致未定义的行为,因此在访问数组时要确保索引在合法范围内。
- C++ 中的数组大小是固定的。如果需要动态大小的数组,可以使用
std::vector
。
6. 使用 std::vector
如果数组的大小在运行时不确定,建议使用 C++ 标准库中的 std::vector
。它是一个动态数组,提供了更多的功能和灵活性。
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers; // 定义一个空的整型向量
// 向向量中添加元素
numbers.push_back(10);
numbers.push_back(20);
numbers.push_back(30);
// 输出向量的元素
for (int i = 0; i < numbers.size(); i++) {
std::cout << "Element at index " << i << ": " << numbers[i] << std::endl;
}
return 0;
}
总结
数组是 C++ 中用于存储多个同类型数据的基本数据结构。通过灵活的定义和初始化方式,数组可以非常方便地用于各种应用场景。对于动态大小的存储需求,推荐使用 std::vector
。