Fortran中的零索引数组?

时间:2018-02-01 12:31:57

标签: fortran fortran90

有人可以解释什么是Fortran中的零索引数组以及示例。我没有在互联网上获得任何内容。

1 个答案:

答案 0 :(得分:4)

零索引数组是索引来源为ZERO的数组。这意味着数组的第一个元素由索引0引用。

当你声明它们时,Fortran数组默认以索引1开头

INTEGER, DIMENSION(3) :: v

此处,符号v表示大小为3的一维数组,其中包含元素v(1)v(2)v(3)

但是,Fortran standard使您可以设置数组的起始和结束索引。 E.g:

INTEGER, DIMENSION(0:2) :: w

在这种情况下,符号w再次表示大小为3的一维数组。但现在使用元素w(0)w(1)w(2)。由于起始索引为0,因此这是零索引数组

对于显式形状数组Section 5.3.8.2 of the standard,指出DIMENSION属性可以声明为

DIMENSION ( [lower-bound :] upper-bound )

所以一切皆有可能,如果您愿意,可以从-42开始,以+42结束。

  

每个lower-boundupper-bound的值决定了界限   沿着特定维度的阵列,因此也是该阵列的范围   该维度中的数组。如果出现lower-bound则指定下限;否则下限为1.下限或上限的值可以是正数,负数或零。该维度中数组的下标范围是包含下限和上限的整数值的集合,前提是上限不小于下限。如果上限是   小于下限,范围是空的,其程度   dimension为零,数组大小为零。