是否可以声明具有下限和上限的 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)。