算法训练营:入门篇(全彩版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

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是安全的。