声明一个整数FORTRAN
我是Fortran新手,很抱歉,我没有找到答案。 在守则中:声明一个整数FORTRAN,fortran,fortran90,Fortran,Fortran90,我是Fortran新手,很抱歉,我没有找到答案。 在守则中: integer ( kind = 4 ) k integer ( kind = 4 ) v(k) integer ( kind = 4 ) list(*) (k)和(*)在第二行,第三行做什么 感谢第一个整数,k是一个标量。第二个整数v(k)是一个包含k元素的数组v。最后一个整数list(*)是一个假定大小的数组,它是过程的伪参数。其长度(元素数)将由传递给过程的实际参数确定 请注意,kind=4是不可移植的,您应该使用
integer ( kind = 4 ) k
integer ( kind = 4 ) v(k)
integer ( kind = 4 ) list(*)
(k)和(*)在第二行,第三行做什么
感谢第一个整数,
k
是一个标量。第二个整数v(k)
是一个包含k
元素的数组v
。最后一个整数list(*)
是一个假定大小的数组,它是过程的伪参数。其长度(元素数)将由传递给过程的实际参数确定
请注意,
kind=4
是不可移植的,您应该使用intrinsickind()
或selected\u int\u kind()
来指定整数的大小。补充@casey的答案:
定义
INTEGER(KIND=4) list(*)
仅作为伪参数的定义有效。但是,您可以借助常量将此列表定义为命名常量(由参数指定)
关键字):
在这种情况下,这称为隐式形状数组(5.3.8.6),它从常量数组隐式获取其长度。
list(*)
是一个假定的大小数组,用户现在必须从其他变量获取大小。如上所述,kind=4
是不可移植的。正如Vladimir所建议的,您不能调用假定大小数组的固有大小。尽管隐含的形状数组必须是命名常量。
INTEGER(KIND=4), PARAMETER :: list(*) = [1,2,3,4,5]