回 帖 发 新 帖 刷新版面

主题:菜鸟的问题

module typedef
  implicit none
  type :: datalink
    integer :: i
    type(datalink), pointer :: next
  end type datalink
end module typedef

program ex1010
  use typedef
  implicit none
  type(datalink) , target  :: node1,node2,node3
  integer :: i

  node1%i=1
  node1%next=>node2
  node2%i=2
  node2%next=>node3
  node3%i=3
  nullify( node3%next )

  write(*,*) node1%i
  write(*,*) node1%next%i      
  write(*,*) node1%next%next%i 

stop
end program
本人刚刚开始自学彭国伦的fortran 95
想问下次代码中的[color=FF0000]node1%next=>node2[/color]的%是什么意义
我目前只在数组里见过,可是在这里就不知道什么意思了。

回复列表 (共3个回复)

沙发

此处 相当于 一个运算符, 取结构体(变量) 的 成员变量,相当于 C++ 中的 .

板凳


可不可以就这题中的代码帮我讲解一下
 node1%i=1
  node1%next=>node2
  node2%i=2
  node2%next=>node3
  node3%i=3
  nullify( node3%next )
我就这段看不太懂了

3 楼

这个是做一个很简单很简单的链表。
我个人很不喜欢用 Fortran 的指针去实现一些复杂的数据结构,至少目前还不合适。

我来回复

您尚未登录,请登录后再回复。点此登录或注册