我正在读一段代码,其中有段数组作为子程序参数传递没有看懂,特来求助:
在主程序里面代码如下:
[Fortran] 纯文本查看 复制代码 do icx=1,ncx
call var_pack(nx,idimx(icx),wmh,xpac,Vt(1,1,icx),nx*2,&
& St(1,icx),Ct(1,1,icx),iprint)
...
这里数组 Ct 是三维数组,在调用语句里面用的是它的某一个元素 Ct(1,1,icx)。
而在子程序 var_pack 里面,对应的 C1 这个数组是两维的:
subroutine var_pack(n,nc,wmh,xpac,V,m,S,C1,iprint)
REAL*8 V(m,m),xpac(0:m),S(m),C1(m,m)
那么,在子程序里面计算得到的 C1(m,m) 这个矩阵的 m*m 个元素如何和主程序里面的三维矩阵 Ct 的元素对应呢?
谢谢!
|