Fortran77在第一列中定义带有整数变量的数组,在第二列中定义带有变量的变量

时间:2013-04-18 14:48:15

标签: fortran

如何在第一列中定义带有整数变量的数组,在第二列中定义字符串变量?

例如: 理想情况下,数组mELF将在第一列和第三列中包含数字,在第三列中包含字符串。我只使用整数,但现在我想混合不同类型的变量。有可能吗?

  INTEGER, save :: mELF(11000, 11000, 11000)
  DATA mELF/11000*11000*11000*0/

1 个答案:

答案 0 :(得分:3)

不,不可能在FORTRAN77或该语言的任何更新版本中混合数组元素的类型。在数组中,所有元素必须具有相同的类型(和种类)。

在现代Fortran中,即90及更高版本,您可以定义派生类型,例如;

type my_type
  integer :: col1, col3
  character(len=16) :: col2
end type

然后声明一个数组,如

type(my_type), dimension(:), allocatable :: my_array

现在您有了一个数据结构,您可以使用

等表达式进行切片
my_array % col2

my_array(1:12) % col1

my_array(2:6) % col2(5:8)

等等。