购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.7 巧用数组

在程序设计过程中,数组可以存储一组相同类型的数据。

1.7.1 一维数组

1.静态定义

一维数组的静态定义格式如下图所示。

数组长度必须是整型常量,不能是变量,必须是已知的数值。

●可以在定义数组时对数组进行初始化。

●在定义并初始化数组时,可以不指定其长度。

●在定义数组时可以对数组进行整体赋值,在其他情况下不可以对数组进行整体赋值。

●不可以在数组变量之间赋值。

●系统不会检查下标是否有效。

●对于特别大的数组,要将其定义在主函数main()外,若将其定义在主函数main()内,则会导致异常退出。

训练17(B2064): 斐波那契数列的第1个数和第2个数都为1,接下来的每个数都等于前面两个数之和。下面的程序包含 n 行输入,每行都为一个正整数 k (1≤ k ≤30),请输出斐波那契数列中的第 k 个数。

2.动态定义

动态定义数组指在程序运行过程中动态分配内存空间且定义数组。一维数组的动态定义格式如下图所示。

对于动态定义数组,在使用完毕后需要使用delete释放其占用的内存空间,格式:delete[]数组名。

注意

●不要使用delete释放未使用new分配的内存空间。

●不要使用delete释放同一内存空间两次。

●对于使用new为一个实体分配的内存空间,需要使用delete释放。

●对于使用new为一个数组分配的内存空间,需要使用delete[]释放。

●对空指针使用delete是安全的。

1.7.2 二维数组

1.静态定义

二维数组的静态定义格式如下图所示。

其中,数组的行数和列数必须是整型常量,不能是变量,该数值必须是已知的数值。

●可以在定义时对数组进行初始化。

●将二维数组作为参数时,可以省略其行数,但必须指定其列数。

2.动态定义

一个 m n 列的二维数组相当于 m 个长度为 n 的一维数组。

训练18(P5731): 蛇形填数,输入一个不大于9的正整数 n ,以蛇形填写 n × n 的矩阵。 YjCfMxW2BA9RnI7NAWm+iZ/6Mix5k9DYodlvIVHOOkQ8Z5dGCrWhb7WGCMRhzN/C

点击中间区域
呼出菜单
上一章
目录
下一章
×