【发布时间】:2018-02-27 06:07:30
【问题描述】:
我想了解有关 Fortran90 或 gfortran 中的声明的说明。
首先,对于声明整数和双精度,似乎约定是:
! i is an integer
integer::i
而我也看到了一个简单的声明,例如(在我的代码中,我使用了这个):
! i is an integer
integer i
即没有“::”符号。
这个声明的规范是什么(integer, real, double)?
声明数组也一样吗?即,符号 '::' 是否必须像以下声明一样:
! declaration of array "list" with 10 elements
double precision,dimension(10)::list
我为数组寻找更简单的声明,但没有成功。
最后,我还对可分配数组使用了以下语法:
! Arrays
double precision, allocatable :: x(:,:)
! Allocation of 2D Array
allocate(x(1:size_x,1:size_y))
声明可分配数组是最近的方式(我的意思是 Fortran 中最近的约定或规范)吗?
问候
ps:我不太清楚fortran不同版本的演变过程(例如fortran90和gfortran之间的区别
【问题讨论】:
-
Fortran90(如 FORTRAN77、Fortran2003、Fortran2008)是一个版本,而 gfortran(GNU Fortran) 是一个编译器(如 ifort -Intel Fortran-、pgfortran -PGI Fortran- ...)
标签: arrays fortran gfortran fortran90 variable-declaration