我正在将FORTRAN代码转换为C ++。在理解FORTRAN代码的同时,我在FORTRAN中遇到了以下代码片段。
DIMENSION X(50),Y(50),PARA(6,9)
DIMENSION AMPA(12),FCUR(20),VER(20),AMPS(20)
据我所知,DIMENSION在FORTRAN中不需要任何数据类型。但是我无法理解X,Y,PARA等的默认数据类型。默认情况下它是整数吗?
答案 0 :(得分:5)
经典地,名称以[I-N]
开头的Fortran变量为INTEGER
,其他所有变量都为REAL
。因此,C ++中这些变量最可能的类型是float
。
float X[50], Y[50], PARA[6][9];
float AMPA[12], FCUR[20], VER[20], AMPS[20];
但是,对于2D数组,Fortran使用column-major order,其中C和C ++使用行主要顺序。您可能需要为2D阵列担心。您可能还决定将名称转换为小写。
答案 1 :(得分:2)
在Fortran中,名称以字母表中的I到N开头的变量(记住Fortran不区分大小写)是implicitly integer
, and everything else is implicitly real
除非另有说明 - 这可能对应于int
和{在C ++中{1}}。
即使早在FORTRAN 77,这也被认为是不好的做法,今天通常会使用语句float
开始每个Fortran程序和模块,以要求每个变量都被声明为明确的类型。