Fortran Coder

查看: 8399|回复: 1
打印 上一主题 下一主题

[派生类型] TYPE中的分量能否写在参数列表中?

[复制链接]

13

帖子

5

主题

0

精华

入门

F 币
81 元
贡献
48 点
跳转到指定楼层
楼主
发表于 2021-1-12 11:23:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在在做C和FORTRAN混编,其中FORTRAN中有少量的TYPE类型的变量,如下:
[Fortran] 纯文本查看 复制代码
TYPE, PUBLIC :: FLD 
REAL(wp) , ALLOCATABLE, DIMENSION(:,:,: ) :: fnow 
REAL(wp) , ALLOCATABLE, DIMENSION(:,:,:,:) :: fdta
END TYPE FLD

[Fortran] 纯文本查看 复制代码
TYPE(FLD), ALLOCATABLE, DIMENSION(:) ::   sf_tsd

[Fortran] 纯文本查看 复制代码
SUBROUTINE dta_tsd(a, b)
INTEGER :: a
INTEGER :: b

sf_tsd(1)%fnow(1,1,1) = sf_tsd(1)%fnow(1,1,1) - 0.20
END SUBROUTINE dta_tsd

因为这部分变量比较少,所以想知道能否把sf_tsd%fnow中的分量fnow以某种形式写在参数列表中,这样传递至C中就可以将其视作一个普通的多维变量而不是结构体中的成员变量。
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

54

帖子

0

主题

0

精华

实习版主

F 币
653 元
贡献
214 点

元老勋章新人勋章

QQ
沙发
发表于 2021-1-12 15:07:58 | 只看该作者
多维数组是比较麻烦的。你必须保证fortran的数组是连续的。然后传递指针给C
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-11-23 17:22

Powered by Tencent X3.4

© 2013-2024 Tencent

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