什么是数组?
在 C++ 中,数组(Array)是一种固定大小的同类型数据集合。它就像一个容器,可以存储一组相关联的数据,比如一组整数、一组浮点数等。
数组的核心特点是:
- 存储多个值:但必须是相同的数据类型。
- 顺序存储:所有元素在内存中按顺序排列。
- 通过下标访问:每个元素都有唯一的下标(从
0
开始)。
数组的定义与初始化
定义数组时,需要指定数组的类型和长度(大小)。
语法:
数据类型 数组名[数组大小];
示例:
int numbers[5]; // 定义一个可以存储 5 个整数的数组
数组的初始化方法:
1.静态初始化(直接赋值):
int numbers[5] = {1, 2, 3, 4, 5}; // 初始化数组的每个元素
2. 部分初始化:
int numbers[5] = {1, 2}; // 剩下的元素自动初始化为 0
3.自动推导数组大小:
int numbers[] = {1, 2, 3, 4, 5}; // 自动根据元素数量设置大小
4.默认初始化(无值): 如果未初始化,数组中的值是未定义的,需要小心使用。
数组的访问与操作
数组中的元素可以通过下标访问,下标从 0
开始。例如:
#include <iostream>
using namespace std;
int main() {
int numbers[5] = {10, 20, 30, 40, 50}; // 初始化数组
// 访问数组元素
cout << "第一个元素:" << numbers[0] << endl; // 输出 10
cout << "第三个元素:" << numbers[2] << endl; // 输出 30
// 修改数组元素
numbers[4] = 100; // 将最后一个元素改为 100
cout << "修改后的第五个元素:" << numbers[4] << endl; // 输出 100
return 0;
}
运行结果:
第一个元素:10
第三个元素:30
修改后的第五个元素:100
数组的遍历
遍历数组是操作数组的重要方法。可以使用 for
循环来逐一访问数组中的每个元素。
示例:输出数组所有元素
#include <iostream>
using namespace std;
int main() {
int numbers[] = {1, 2, 3, 4, 5}; // 定义并初始化数组
cout << "数组的元素为:" << endl;
for (int i = 0; i < 5; i++) { // 遍历数组
cout << "numbers[" << i << "] = " << numbers[i] << endl;
}
return 0;
}
运行结果:
数组的元素为:
numbers[0] = 1
numbers[1] = 2
numbers[2] = 3
numbers[3] = 4
numbers[4] = 5
多维数组
C++ 中不仅支持一维数组,还支持二维或多维数组,用于表示复杂的数据结构。例如:一个二维数组可以表示一个表格或矩阵。
二维数组定义与初始化:
#include <iostream>
using namespace std;
int main() {
// 定义并初始化二维数组
int matrix[2][3] = {
{1, 2, 3},
{4, 5, 6}
};
// 输出二维数组的所有元素
cout << "二维数组的元素为:" << endl;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
cout << "matrix[" << i << "][" << j << "] = " << matrix[i][j] << " ";
}
cout << endl;
}
return 0;
}
运行结果:
二维数组的元素为:
matrix[0][0] = 1 matrix[0][1] = 2 matrix[0][2] = 3
matrix[1][0] = 4 matrix[1][1] = 5 matrix[1][2] = 6
练习题目
为了加深对数组的理解,尝试完成以下题目:
- 定义一个数组,输入 5 个整数,并输出它们的平均值。
- 定义一个二维数组,求该数组所有元素的和。
总结
- 数组是 C++ 中重要的基础数据结构,可以存储多个同类型的数据。
- 数组操作主要包括定义、初始化、访问、遍历等。
- 在实际开发中,数组适合存储固定大小的数据。如果数据量可变,建议使用 STL 中的
vector
。
更多学习资源
想了解更多 C++ 编程知识?快加入我的知识星球:零基础入门 C/C++ 编程学习。
提供系统化学习资源、完整代码示例以及技术答疑!
赶紧动手试试吧! 😊