Fortran Coder

查看: 14517|回复: 7
打印 上一主题 下一主题

[子程序] fortran 数组作为参数传递

[复制链接]

7

帖子

2

主题

0

精华

入门

F 币
53 元
贡献
28 点
跳转到指定楼层
楼主
发表于 2017-12-18 00:54:35 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
我正在读一段代码,其中有段数组作为子程序参数传递没有看懂,特来求助:

在主程序里面代码如下:

[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 的元素对应呢?

谢谢!



分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

7

帖子

2

主题

0

精华

入门

F 币
53 元
贡献
28 点
沙发
 楼主| 发表于 2017-12-18 08:52:37 | 显示全部楼层
谢谢回复!我也是第一次见这种写法,觉得挺不符合我的习惯。我得再理解理解。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-16 11:30

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表