LBOUND(ARRAY, DIM, KIND)

用途

返回数组中每个维度的下限,或指定维度的下限。

查询函数

参数类型和属性

ARRAY
要确定其下限的数组。 必须定义数组的边界;也就是说,对应的实际参数不能是解除关联的指针,也不能是未分配的可分配数组。
DIM (可选)
INTEGER 标量。 其值必须在范围 1 ≤ DIMRANK(ARRAY)中。 相应的实际自变量不得是可选哑元自变量。TS 29113 开始 如果 是一个与标量关联的假设等级对象,则不能出现 参数。 ARRAY DIMTS 29113 结束
Fortran 2003 开始KIND(可选)
INTEGER 标量。 与 KIND必须是一个常量表达式。 Fortran 2003 结束

结果类型和属性

  • 结果类型为整数。
  • Fortran 2003 开始 如果存在,善良类型参数由值指定 KIND存在,则善良类型参数由 KIND;否则,kind类型参数为默认的整数类型。 Fortran 2003 结束
  • 如果存在 DIM ,那么结果为标量。 如果 DIM 不存在,那么结果是一个一维数组, ARRAY中的每个维都有一个元素。
  • TS 29113 开始如果 ARRAY是与标量关联的假定等级对象,则结果为零维数组。 TS 29113 结束

结果值

结果中的每个元素都对应于 array的一个维度。
  • 如果 ARRAY 是整个数组或数组结构组件,那么 LBOUND(ARRAYDIM) 等于 ARRAY的下标 DIM 的下限。

    唯一的例外是对于大小为零的维,并且 ARRAY 不是假定大小的列组数组 DIM,在这种情况下,结果中的对应元素是一个,而不考虑为下限声明的值。

  • 如果 ARRAY 是不是整个数组或数组结构组件的数组部分或表达式,那么每个元素都具有值 1。

示例

        REAL A(1:10, -4:5, 4:-5)

        RES=LBOUND( A )
! The result is (/ 1, -4, 1 /).

        RES=LBOUND( A(:,:,:) )
        RES=LBOUND( A(4:10,-4:1,:) )
! The result in both cases is (/ 1, 1, 1 /)
! because the arguments are array sections.