FORTRAN中的DIMENSION语句

时间:2016-03-21 06:18:00

标签: c++ fortran

我正在将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等的默认数据类型。默认情况下它是整数吗?

2 个答案:

答案 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程序和模块,以要求每个变量都被声明为明确的类型。