- gf25008 的博客
《GF日记》——备用——《数组》
- @ 2025-10-12 16:46:38
数组
一维数组
数组的定义
数组是存放相同类型对象的容器,数组中存放的对象没有名字,而是要通过其所在的位置(相当于下标 例:[位置/下标])访问。
数组的大小是固定的,不能随意改变数组的长度。
定义数组
数组的声明形如 ,其中, 是数组的名字, 是数组中元素的个数。在编译时, 应该是已知的,也就是说, 应该是一个整型的常量表达式。
unsigned int d1 = 41;
const int d2 = 41; // const 是定义常量的c++标志字
int arr1[d1]; // 错误:d1 不是常量表达式
int arr2[d2]; // 正确:arr2 是一个长度为 42 的数组
不能将一个数组直接赋值给另一个数组:
int a1[3];
int a2[3];
a2=a1; // 错误
a1=a1; // 错误
注意:
数组下标从 开始,也就是说,数组下标最大为 ( ~ )
——————————————————————————————————————————————————
多维数组
数组的定义及定义数组
多维数组的实质是 「数组的数组」 ,即外层数组的元素是数组。
例:二维数组
二维数组需要两个维度来定义: 数组的长度和数组内元素的长度。
访问二维数组时需要写出两个索引:
int arr[3][4]; // 一个长度为 3 的 int 数组,它的元素是「长度为的 4 的 int 数组」
arr[2][1] = 1; // 访问二维数组
我们经常使用嵌套的 for 循环来处理二维数组
int arr[n][m];
for (int i = 1; i <= n; i++){
for (int j = 1; j <= m; j++) cin >> arr[i][j];
}
一般的,定义几维的数组,就可以用几层嵌套循环来处理
同样地,你可以定义三维、四维,以及更高维的数组