是否可以声明具有下限和上限的 Fortran 动态数组
Is it possible to declare a Fortran dynamic array with lower and upper bounds
对于静态数组,可以像这样显式定义下限:
real, dimension(2:6) :: numbers
我理解动态数组是这样声明的:
real, dimension(:), allocatable :: numbers
allocate(numbers(6))
是否可以声明一个具有下限 and/or 上限的动态数组?如果是,如何?如果否,是否有未实施或无法实施的原因?
是的,很简单:
allocate(numbers(2:6))
必须始终指定上限,但下限是可选的(如果省略,则视为 1
)。
对于静态数组,可以像这样显式定义下限:
real, dimension(2:6) :: numbers
我理解动态数组是这样声明的:
real, dimension(:), allocatable :: numbers
allocate(numbers(6))
是否可以声明一个具有下限 and/or 上限的动态数组?如果是,如何?如果否,是否有未实施或无法实施的原因?
是的,很简单:
allocate(numbers(2:6))
必须始终指定上限,但下限是可选的(如果省略,则视为 1
)。