声明一个整数FORTRAN

时间:2014-08-05 13:56:34

标签: fortran fortran90

我是Fortran的新手,对于这个虚假的问题感到抱歉,我没有找到答案。 在代码中:

  integer ( kind = 4 ) k
  integer ( kind = 4 ) v(k)
  integer ( kind = 4 ) list(*)

(k)和(*)在第二行,第三行中做了什么?

由于

2 个答案:

答案 0 :(得分:4)

第一个整数k是标量。第二个整数v(k)是一个带有v元素的数组k。最后一个整数list(*)一个假定大小的数组,它是一个过程的伪参数。它的长度(元素数量)将由传递给过程的实际参数确定。

请注意,kind = 4不可移植,您应该使用内在函数kind()selected_int_kind()来指定整数的大小。

答案 1 :(得分:3)

补充@casey的答案:

的定义
INTEGER(KIND=4) list(*)

仅作为伪参数的定义有效。但是,您可以在常量的帮助下将此列表定义为命名常量(由PARAMETER关键字指定):

INTEGER(KIND=4), PARAMETER :: list(*) = [1,2,3,4,5]

在这种情况下,这称为隐含形状数组(5.3.8.6),它从常量数组​​中隐含地得到它的长度。