当前位置:首页 > 编程笔记 > 正文
已解决

Fortran 中的指针

来自网友在路上 169869提问 提问时间:2023-11-11 23:35:00阅读次数: 69

最佳答案 问答题库698位专家为你答疑解惑

  • Fortran 中的指针

  • 指针可以看作一种数据类型
    • 指针存储与之关联的数据的内存地址
    • 变量指针:指向变量
    • 数组指针:指向数组
    • 过程指针:指向函数或子程序
  • 指针状态
    • 未定义
    • 未关联
integer, pointer::p1=>null()
!或者
nullify(p1)
    • 已关联

  • 指针操作
    • 指向
      • 将变量、数组、过程或指针的内存地址以及其他信息(数组上下界、过程接口等)赋值给指针
    • 赋值
      • 将非过程的量所关联的值赋值到指针所关联的地址。涉及到的所有指针必须已经关联到足够的内存空间

  • 指针状态查询函数
associated(pointer) !是否已经有关联
associated(target, pointer) !这两个是否有关联
  • example-1:变量指针
! A fortran95 program for G95
! By WQY
program testimplicit noneinteger, target::a=1integer, pointer::p=>null()print*, associated(p)p=>aprint*, associated(p)print*, associated(p, a)pause
end program

  • example-2:数组指针
! A fortran95 program for G95
! By WQY
program testimplicit noneinteger, target::a(2, 3)=999integer, pointer::p(:, :)=>null()print*, associated(p)p=>aprint*, associated(p)print*, associated(p, a)pause
end program

  • example-3:过程指针
! A fortran95 program for G95
! By WQY
program testuse minteger::a=1procedure(pro), pointer::pinterfacesubroutine pro(a)integer aend subroutineend interfacep=>subcall p(a)pause
end programmodule mcontainssubroutine sub(a)integer aprint*, "sub:", aend subroutine sub
end module



查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"Fortran 中的指针":http://eshow365.cn/6-38013-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!