假定秩对象 (TS 29113)

假定秩对象是哑参数对象,其秩是在运行时通过关联的实际参数假定的。 对应于假定秩对象的实际参数可以是数组或标量。

Assumed_rank_spec

读取语法图跳过可视语法图..

如果假定秩哑参数与标量实际参数相关联,则假定秩哑参数的秩为零,并且它的形状是零大小的数组。

限制:
  • 对应于假定秩哑参数的假定类型实际参数必须是假定形状或假定秩。
  • 假定的列组对象不能具有 VALUE 属性。
  • 假定秩对象不能在指示符或表达式中使用,除非以下列方式使用:
    • 作为实际参数对应于假定秩的哑参数
    • 作为 ISO_C_BINDING 内部模块中 C_LOC 函数的自变量
    • 作为对内部查询函数的引用中的第一个参数

示例

REAL :: a0
REAL :: a1(10)
REAL :: a2(10, 20)
REAL, POINTER :: a3(:,:,:)
 
CALL sub1(a0)
CALL sub1(a1)
CALL sub1(a2)
CALL sub1(a3)
 
CONTAINS
  SUBROUTINE sub1(a)
    REAL :: a(..)
    PRINT *, RANK(a)
  END
 
END
输出如下所示:
0
1
2
3 

相关信息