请问下面这几句FORTRAN语句是什么意思?

1个回答

  • lkind 在前面定义了,肯定是一个 integer 的 parameter 常量.

    它用来表示整数的 kind.

    所谓 kind ,也就是整型的长度.具体值因不同编译器而不同.大多数主流编译器,如果 kind 是 2,表示短整型,如果是 4,则表示整型(32位).如果 kind 是 8 则表示长整型.

    如果写成

    integer(2)

    integer(4)

    integer(8)

    或许你会更熟悉它们一些.

    之所以用 lkind 代替,是为了以后修改程序方便.试想,如果你要把整个程序的 integer(4) 改为 integer(8),是具有较大工作量的,而用 lkind代替,以后只需要修改 lkind 的值既可.

    另外,如果你的代码更换为其他编译器,正如我上面所说,不同编译器,对 kind 的具体值规定不同,也需要对 lkind 进行修改.

    L=int(PJ(1,I),Ikind) 也是处于同样的目的.int 函数接收第二个参数来确定转换的 kind

    integer(Ikind),intent(out) ::JC(6) 这句话,我相信你能理解.定义一个kind为 lkind 的整型数组,名字叫 JC,大小是 6.

    intent(OUT) 可能你理解有困难,他表示,JC 这个数组,出现在函数虚参里,而且作为该函数的一个输出参数.在该函数返回时,JC 必须赋值(因为它是一个输出参数)