请教FORTRAN中COMMON/w2/ x,y,是定义全局变量吗?

问题描述:

请教FORTRAN中COMMON/w2/ x,y,是定义全局变量吗?
前后文如下:
PROGRAM MAIN
integer N
parameter(N=4)
REAL*8x0,y0,z0,x,y,z,ax,ay,az,vx0,vy0,vz0,epsilon
REAL*8 ax0,ay0,az0
REAL*8 funx,funy,funz,funp
EXTERNALfunx,funy,funz,funp
COMMON/w2/ x,y,z
REAL*8 a,b,c
REAL*8 gamma
COMMON /gamma/ gamma
REAL*8 a1,b1,e0,e,phi0,phi,s1,s2,s3
EXTERNAL midpnt
1个回答 分类:综合 2014-09-17

问题解答:

我来补答
COMMON /w2/ x,y,z
表示定义一个公共块w2, 包含变量x,y和z. 
简单说来, 就是开辟一块公共的内存空间存放变量和值, 其他子程序也可以使用这个公共空间的变量和值.

从Fortran90开始, 不再推荐common了, 改用module更好.
再问: лл~��ô���������C�����ж����ȫ�ֱ�����һ�������main����������ƽ�еIJ����ж�����ֱ�ӵ��ðɣ�
再答: 对C的不熟悉, 所以不清楚二者是否是一致. 是的, 定义了common 之后, program main可以用, 其他subroutine也可以用, 不过用其中值之前需要先初始化.
 
 
展开全文阅读
剩余:2000