一句话理解
一维数组是一排相同类型的格子,用一个名字管理。
为什么要学
要存 n 个数,不能定义 n 个变量。
讲解
int a[5]; 有 5 个 int。下标默认从 0 到 4。
信奥常开 int a[N]; 并只用 1..n,把 0 空出来,和题目编号一致。
数组大小必须足够。n 最大 1e5,就要开到 1e5 以上,常开 1e5+10。
例子
int a[5];
a[0] = 10;
a[1] = 20;
cout << a[0] + a[1];
输出:
30
两个格子分别放 10 和 20,相加 30。
常见错误
- n 很大却写成
int a[n];当局部 VLA,不标准且可能爆栈。竞赛常用全局静态数组。 - 大小写成 n 却访问 a[n]。