3

在我必须处理的一些 Fortran 77 代码中,有一些指针以一种非常奇怪的方式声明,

 pointer  (iuu     , uu      ), (ivv     , vv      ),
 $        (it      , t       ), (iq      , q       ), (ips     , ps      ),
 $        (ittm    , ttm     ), (itqm    , tqm     ), (ipsm    , psm     ),

这里的括号是什么意思?任何事物?

4

1 回答 1

7

这些是Cray 指针,一种非标准类型的指针,它使用常规integer变量来存储目标的内存地址,目标可能是另一个变量或过程。之所以引入它们是因为程序员想要这个功能,而 Fortran 77 没有本机指针工具。

代码中的括号是 Cray 指针的赋值语句:pointer (iptr, target) [, ...]

如果可能的话,您应该考虑将它们更改为标准 Fortran 指针,因为它们的使用受到较少的限制和假设,并且显然所有实现 Fortran 90 的编译器都支持它们。

于 2013-01-08T16:52:00.683 回答