大橙子cqx 发表于 2021-1-12 11:23:53

TYPE中的分量能否写在参数列表中?

我现在在做C和FORTRAN混编,其中FORTRAN中有少量的TYPE类型的变量,如下:TYPE, PUBLIC :: FLD
REAL(wp) , ALLOCATABLE, DIMENSION(:,:,: ) :: fnow
REAL(wp) , ALLOCATABLE, DIMENSION(:,:,:,:) :: fdta
END TYPE FLD
TYPE(FLD), ALLOCATABLE, DIMENSION(:) ::   sf_tsd
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中就可以将其视作一个普通的多维变量而不是结构体中的成员变量。

布衣龙共 发表于 2021-1-12 15:07:58

多维数组是比较麻烦的。你必须保证fortran的数组是连续的。然后传递指针给C
页: [1]
查看完整版本: TYPE中的分量能否写在参数列表中?