0

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

例如:mELF理想情况下,数组的第一列和第三列将包含数字,第三列包含字符串。我让它只适用于整数,但现在我想混合不同类型的变量。是否可以?

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

1 回答 1

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)

等等。

于 2013-04-18T14:56:14.117 回答