什么是数组?
数组是一种基本的数据结构,它允许程序在内存中连续存储一组相同类型的数据项。数组中的每个数据项都被称为一个元素,可以通过索引来访问这些元素,索引是从0开始递增的整数。
定义数组
在C++中,数组可以这样定义:
type arrayName[arraySize];
type 是数组中元素的数据类型(类似于 int char 等)
arrayName 是数组的名称
arraySize必须是一个正整数,表示数组中元素的数量
示例
以下是一个简单的一维数组定义的例子:
int numbers[5]; // 定义一个包含5个整数的数组
初始化数组
数组也可以在声明时初始化,例如:
int scores[] = {90, 85, 70, 65, 50};
// 声明并初始化数组
这里,我们没有指定数组的大小,编译器会根据初始化列表的长度自动推断出数组的大小。
访问数组元素
数组元素可以通过索引来访问,索引是从0开始的。例如,要访问上述 `scores` 数组的第一个元素,我们可以这样做:
cout << "First score: " << scores[0] << endl;
// 输出第一个元素
动态数组
在某些情况下,可能需要在运行时确定数组的大小。这时,可以使用指针和 `new` 关键字来创建动态数组:
int size;
cout << "Enter the size of the array: ";
cin >> size;
int *dynamicArray = new int[size];
// 填充数组
for (int i = 0; i < size; ++i) {
cout << "Enter element " << i + 1 << ": ";
cin >> dynamicArray[i];
}
// 使用数组
for (int i = 0; i < size; ++i) {
cout << "Element " << i + 1 << ": " << dynamicArray[i] << endl;
}
// 释放内存
delete[] dynamicArray;
应用场景
数组广泛应用于各种场景中,包括但不限于:
**游戏开发:**用于存储玩家分数或关卡数据。
**科学计算:**存储实验数据或数学计算的结果。
**数据库管理:**作为临时数据结构存储记录。
**图像处理:**二维数组常用于表示图像像素。
下面是一个完整的示例程序,展示了如何定义和使用数组并计算数组中五个数的平均值:
#include <iostream>
using namespace std;
int main() {
int scores[5] = {90, 85, 70, 65, 50};
int sum = 0;
// 遍历数组并计算总分
for (int i = 0; i < 5; ++i) {
cout << "Score " << i + 1 << ": " << scores[i] << endl;
sum += scores[i];
}
// 输出平均分
cout << "Average Score: " << static_cast<double>(sum) / 5 << endl;
return 0;
}