Fortran77定义数组,第一列为整数变量,第二列为字符串变量

Fortran77定义数组,第一列为整数变量,第二列为字符串变量,fortran,Fortran,如何定义第一列为整数变量,第二列为字符串变量的数组 例如: 数组mELF理想情况下在第一列和第三列中包含数字,在第三列中包含字符串。我让它只处理整数,但现在我想混合不同类型的变量。可能吗 INTEGER, save :: mELF(11000, 11000, 11000) DATA mELF/11000*11000*11000*0/ 不,在FORTRAN77或该语言的任何最新版本中,不可能混合数组的元素类型。在一个数组中,所有元素必须是同一类型(和种类) 在现代Fortran、ie 9

如何定义第一列为整数变量,第二列为字符串变量的数组

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

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

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

在现代Fortran、ie 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)

等等。

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

在现代Fortran、ie 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)

诸如此类。

或者在FORTRAN 77中,我们总是有
等价性
。你@VladimirF连想
等价性
都感到羞耻,更不用说建议了!或者在FORTRAN 77中,我们总是有
等价性
。你@VladimirF连
等价性的想法都没有,更不用说建议了!