Fortran Coder

查看: 11094|回复: 4
打印 上一主题 下一主题

[派生类型] 如何实现一个数据结构的共享(不同文件中)

[复制链接]

1963

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1357 元
贡献
574 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

楼主
发表于 2016-9-2 18:02:04 | 显示全部楼层
传递指针的话,需要用 interface,而书写到 module 里,可以避免手动书写 interface

[Fortran] 纯文本查看 复制代码
module typedef
  Implicit None
  type  tttt
    integer:: num
    character(len=15) :: name1
  end type tttt
end module typedef

module mod_struct_mod
  use typedef
  Implicit None
contains
  subroutine  mod_struct(struct)
    type(tttt),pointer:: struct
    struct%name1="xie"
  end subroutine mod_struct  
end module mod_struct_mod

program hello
  use mod_struct_mod
  type(tttt),pointer::ps
  type(tttt),target :: s
  s%num=1
  s%name1="wangwei"
  ps=>s
  call mod_struct(ps)
  write(*,*) ps
end program hello
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-3 10:33

Powered by Tencent X3.4

© 2013-2024 Tencent

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