Fortran中的指针究竟与C / C ++指针有什么不同?

时间:2015-06-16 03:34:04

标签: c++ c pointers fortran

让C / C ++程序员和Fortran程序员比较和对比这两种语言中的指针可能会很有用。

在尝试向C / C ++程序员解释Fortran指针的不同之处时,我通常会说函数或子程序的指针不存在。然后我尝试使Fortran指针更“高级”的论点,但细节是模糊的。

究竟有什么区别?

1 个答案:

答案 0 :(得分:7)

正如Mark所说,函数和子程序的指针肯定存在于Fortran中。不同之处是:

  • 在C中,指针只是一个地址,而在Fortran中,指针可以有其他信息,例如数组边界和步幅,这就是为什么在声明指针伪参数时需要显式接口
  • 在C中,您必须显式取消引用指针,而在Fortran中,取消引用是自动的(除非在需要指针的上下文中)
  • 在C中,没有关于别名的假设,而在Fortran中,您只能指向具有TARGET属性的内容