女孩和机器人一起思考

一起动脑筋 · 先看一个小故事

女孩要记录五位同学的积分。给每个分数单独起名字太容易弄乱,她画了一排带编号的储物格。

把过程摊开来看

沿着编号看一遍,再用自己的话讲一遍
  1. 整组名字scores
  2. 编号 0存 90
  3. 编号 1存 85
  4. 编号 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 已经越界。