一个零索引数组是一个数组,谁的指标起源ZERO。这意味着数组的第一个元素由 index 引用0。
Fortran 数组在声明它们时默认以索引 1 开头
INTEGER, DIMENSION(3) :: v
Run Code Online (Sandbox Code Playgroud)
此处,符号v表示大小为 3 的一维数组,其中元素为v(1)、v(2)和v(3)。
但是,Fortran 标准使您可以设置数组的开始和结束索引。例如:
INTEGER, DIMENSION(0:2) :: w
Run Code Online (Sandbox Code Playgroud)
在这种情况下,符号w再次表示大小为 的一维数组3。但是现在有了元素w(0),w(1)和w(2)。作为起始索引是0这是一个零索引数组。
对于显式形状数组,标准的第 5.3.8.2 节规定该DIMENSION属性可以声明为
DIMENSION ( [lower-bound :] upper-bound )
Run Code Online (Sandbox Code Playgroud)
所以一切皆有可能,如果你愿意,你可以开始-42和结束+42。
每个
lower-bound和的值upper-bound确定沿特定维度的数组边界,从而确定该维度中数组的范围。如果lower-bound出现则指定下限;否则下限为 1。下限或上限的值可以是正数、负数或零。该维度中数组的下标范围是上下限之间(包括上下限)的整数值集合,前提是上限不小于下限。如果上限小于下限,则范围为空,该维度中的范围为零,数组大小为零。