二、数组内容的访问定义了数组后就可以使用和修改数组中的元素了。作为多个元素组合成的一个有序的序列,数组中的元素均使用数组和变量在数组中的位置表示;这一位置通常被称为编号或下标。
在三国2脚本中,数组
下标从0开始,按0, 1, 2, ...计数。一个长度为N的数组,其下标分别为0, 1, 2, ..., N-1. 我们使用方括号来访问和修改数组的元素:
int arr[5];
arr[0] = 1; // 将arr数组下标为0的元素赋值为1
数组的元素可以完全像变量那样使用;它可以作为表达式的一部分。例如:
arr[3] = arr[0] + 2; // 将arr[3]赋值为表达式arr[0] + 2的结果
和定义数组时指定数组长度的情况不同,数组的下标可以为表达式,并不仅仅局限于立即数(否则数组就没有存在的意义了)。例如,下面的代码制造了一个长度为10的斐波那契数列{1, 1, 2,3, 5, 8, 13, 21, 34, 55},其中我们用表达式 i - 1 和 i - 2 作为数组的下标:
注意:和C语言一样,三国2脚本在编译时和运行时都
不会检查数组越界,亦即指定的下标值超出数组长度允许的范围之情形。当数组发生越界时,可能会影响到其它不相关的局部变量,甚至发生难以预料的后果,因此请务必小心。
(此外,如果您对指针操作感兴趣,有一点需要注意:三国2脚本中的“指针”指向的是EXE运行时的内存地址,通常而言,它无法(也不该)被用来指向任何当前代码中的局部变量、数组或全局变量。因此不存在把数组名当成指针使用的做法。)