FORTRAN 中的维度语句

DIMENSION statement in FORTRAN

本文关键字:语句 FORTRAN      更新时间:2023-10-16

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

经典地,名称以 [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 使用列主顺序,而 C 和 C++ 使用行主顺序。 对于 2D 阵列,您可能需要担心这一点。 您也可以决定将名称转换为小写。

在 Fortran 中,名称以字母表中从 I 到 N 的字符开头的变量(记住 Fortran 不区分大小写)是隐式integer的,除非另有说明,否则其他所有内容都是隐式real的——这可能对应于C++中的intfloat

早在 FORTRAN 77 中,这就被视为不好的做法,今天通常以语句开始每个 Fortran 程序和模块,implicit none要求每个变量都声明为显式类型。