
一起动脑筋 · 先看一个小故事
女孩要记录五位同学的积分。给每个分数单独起名字太容易弄乱,她画了一排带编号的储物格。
把过程摊开来看
- 整组名字scores
- 编号 0存 90
- 编号 1存 85
- 编号 2存 72
数组把同类型数据按顺序放在一起,用一个名字加下标选择元素。
图只画前三格。五人数组有五个位置,下标为 0 到 4。第几个与下标相差 1,取分数前先看清编号。
01只有几个变量时还好,很多数据怎么办?
假设要保存 5 个同学的成绩,可以写:
int score1, score2, score3, score4, score5;
但如果有 100 个、1000 个数据,这种写法就很难管理。
数组就是为“一组同类数据”准备的工具。
02数组到底是什么?
数组(Array)是一组相同类型的元素,并且这些元素按顺序排列。
int scores[5] = {90, 85, 72, 100, 68};
90857210068
03数组和很多独立变量有什么不同?
很多独立变量
每个变量有不同名字,很难用循环统一处理。
数组
用一个名字表示整组数据,再通过下标选择元素。
04怎样访问数组里的某一个元素?
std::cout << scores[0];
std::cout << scores[3];
scores[0] 是第 1 个元素,scores[3] 是第 4 个元素。
05数组里的元素必须同一种类型吗?
对普通 C++ 数组来说,是的。
int numbers[3];
double prices[3];
char letters[3];
同一个数组中的元素类型相同,因此每个元素的大小和解释方式一致。
06数组长度会自己变吗?
普通 C++ 数组的长度在创建后是固定的。
int a[5];
这个数组一直是 5 个 int 元素,不能运行到一半“自动变成 10 个”。
你已经知道了什么
- 数组用于保存一组同类型、按顺序排列的数据。
- 数组可以用一个名字管理很多元素。
- 通过下标可以访问某个元素。
- 普通 C++ 数组长度固定。
- 数组适合配合循环批量处理数据。
下一篇:数组在内存里长什么样?
轮到你来试一试
第五位同学的分数在 scores[5] 吗?
想好了吗?点开看解释
在 scores[4]。从 0 开始数五个位置,依次是 0、1、2、3、4;下标 5 已经越界。