一维数组模板
数组的声明、初始化、遍历——存储同类型数据的有序集合
一维数组
声明
初始化
遍历
GESP3
#include <bits/stdc++.h>
using namespace std;
int main() {
// ====== 1. 声明与初始化 ======
int a[5]; // 未初始化,值不确定
int b[5] = {1, 2, 3, 4, 5}; // 完全初始化
int c[5] = {1, 2}; // 部分初始化,其余为0
int d[5] = {}; // 全部初始化为0
// ====== 2. 遍历 ======
for (int i = 0; i < 5; i++) {
cout << b[i] << " ";
}
cout << endl;
// 范围 for(C++11)
for (int x : b) cout << x << " ";
cout << endl;
// ====== 3. 常用操作 ======
// 求最大值
int maxVal = b[0];
for (int i = 1; i < 5; i++)
maxVal = max(maxVal, b[i]);
// 求和
int sum = 0;
for (int x : b) sum += x;
// 查找
int target = 3, pos = -1;
for (int i = 0; i < 5; i++) {
if (b[i] == target) { pos = i; break; }
}
// ====== 4. 大数组定义在全局 ======
// 局部数组大小受限,大数组定义在 main 外
return 0;
}
📖 要点说明
- 数组下标从 0 开始,
a[n]有效下标是0~n-1 - 部分初始化时,未指定的元素自动为 0
- 大数组(>10⁵)建议定义在全局或用
static memset(a, 0, sizeof a)快速清零
⚠️ 常见错误
- 下标越界:访问
a[n]而不是a[n-1] - 未初始化的局部数组值不确定
- 数组大小必须是常量,不能用变量(非 VLA 场景)