有人可以解释什么是Fortran中的零索引数组以及示例。我没有在互联网上获得任何内容。
答案 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-bound
和upper-bound
的值决定了界限 沿着特定维度的阵列,因此也是该阵列的范围 该维度中的数组。如果出现lower-bound
则指定下限;否则下限为1.下限或上限的值可以是正数,负数或零。该维度中数组的下标范围是包含下限和上限的整数值的集合,前提是上限不小于下限。如果上限是 小于下限,范围是空的,其程度 dimension为零,数组大小为零。