C++数组
前言
这一节内容可能会涉及到一些之前所学习的相关知识,如果你还有不明白的,可以去温习一下之前所学C++基础教程
C++数组
C++ 中的数组可以看作是一个「容器」,专门用来存储一组相同类型的数据,就像一个排成一列的储物柜。每个储物柜都有一个编号(索引),你可以通过这个编号来取出或者放入对应位置的数据。
用通俗的例子来理解:
假设你有 100 本书,不想给每本书都取个名字(比如 book1、book2、book3… book100),这会非常麻烦。这时,你可以用一个「书架」(数组),把这些书按照顺序摆放在书架上,然后给每本书一个位置编号,比如:
- 第一本书在位置
0,第二本书在位置1,以此类推。
在 C++ 里,你可以通过「书架名字 + 编号」直接访问书的位置,比如:
books[0]就是第 1 本书。books[99]就是第 100 本书。
数组的本质:
- 连续的存储空间:就像这些书在书架上是紧挨着摆放的,每个位置依次存储数据。
- 索引从 0 开始:C++ 习惯用
0表示第一个位置。 - 方便操作:你只需要知道位置编号,就能快速找到书(数据)。
小总结:
数组是把一堆同类数据放到一个「共享的容器」里,用编号(索引)来区分每个数据,既节省了管理多个变量的麻烦,也让操作更高效。
1. 声明数组
数组是用来存储一组数据的,就像一本多格笔记本,每个格子都可以用来记数据。要告诉电脑这个数组需要存储什么类型的数据(比如数字或文字)以及需要多少格(大小)。
声明格式:
1 | type arrayName[arraySize]; |
例子:
1 | double balance[10]; |
double表示每个格子存放小数。balance是这个数组的名字。[10]表示有 10 个格子。
想象一下:
你有一个存放 10 个数字的储物柜,每个柜子大小都一样,按顺序编号:0 到 9。
2. 初始化数组
方式 1:逐个存放
就像你一格一格手动往柜子里放东西:
1 | balance[0] = 1000.0; |
方式 2:一次性存放
如果你已经知道每格要存什么,可以一次性写完:
1 | double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0}; |
这就像直接打包好了 5 件东西,放进 5 个柜子。
省略大小:
如果你不想提前指定柜子数量,C++ 会根据数据的个数自动分配大小:
1 | double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0}; |
3. 访问数组中的数据
你可以通过柜子的编号(索引)取出或修改里面的东西,比如:
1 | balance[4] = 50.0; // 改变第 5 个柜子的值为 50.0 |
注意:
- 柜子编号从 0 开始。
- 如果数组大小是
10,最后一个柜子的编号是9。
4. 使用数组举例
以下程序会创建一个数组 n,存储从 100 开始的 10 个数字,并输出它们的值:
代码:
1 |
|
运行结果:
1 | Element Value |
5. 更高级的数组概念
| 概念 | 通俗解释 |
|---|---|
| 多维数组 | 就像一个表格或一个盒子,可以存储二维或多维的数据。比如二维数组就像一个 Excel 表格,有行和列。 |
| 指向数组的指针 | 数组的名字本身就是一个指向第一个格子的「地址」。这就像你有一个地图,可以用地图快速找到第一个储物柜。 |
| 传递数组给函数 | 你可以把整个数组传递给函数,就像把储物柜的地图交给别人,让他们根据地图找到所有东西。 |
| 从函数返回数组 | 函数也可以返回一个数组,就像别人帮你装满东西后,把一个新的储物柜还给你。 |
小总结:
- 声明:定义一个装东西的储物柜(数组),指定它能装什么类型、装多少。
- 初始化:往柜子里放东西,可以逐个放,也可以一次性全放。
- 访问:通过编号(索引)取柜子里的东西或改它的值。
- 进阶用法:数组还可以做更多复杂的操作,比如作为表格、多维容器、或通过函数共享数据。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Matou🚢!
评论








