Fortran中的指针与C/C++指针到底有什么不同?

Fortran中的指针与C/C++指针到底有什么不同?,c++,c,pointers,fortran,C++,C,Pointers,Fortran,让C/C++程序员和Fortran程序员比较和对比这两种语言中的指针可能会很有用 在试图向C/C++程序员解释Fortran指针的不同之处时,我通常会说指向函数或子例程的指针并不存在。然后我试图论证Fortran指针更高级,但细节是模糊的 到底有什么区别 正如马克所说,Fortran中确实存在指向函数和子例程的指针。区别在于: 在C中,指针只是一个地址,而在Fortran中,指针可以有额外的信息,如数组边界和跨步,这就是为什么在声明指针伪参数时需要显式接口的原因 在C语言中,必须显式取消引用指针

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

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


到底有什么区别

正如马克所说,Fortran中确实存在指向函数和子例程的指针。区别在于:

在C中,指针只是一个地址,而在Fortran中,指针可以有额外的信息,如数组边界和跨步,这就是为什么在声明指针伪参数时需要显式接口的原因 在C语言中,必须显式取消引用指针,而在Fortran中,取消引用是自动的,除非在需要指针的上下文中 在C中,没有关于别名的假设,而在Fortran中,只允许指向具有TARGET属性的对象
正如马克所说,Fortran中确实存在指向函数和子例程的指针。区别在于:

在C中,指针只是一个地址,而在Fortran中,指针可以有额外的信息,如数组边界和跨步,这就是为什么在声明指针伪参数时需要显式接口的原因 在C语言中,必须显式取消引用指针,而在Fortran中,取消引用是自动的,除非在需要指针的上下文中 在C中,没有关于别名的假设,而在Fortran中,只允许指向具有TARGET属性的对象 我通常说指向函数或子例程的指针不存在,那么你通常是错的,请参阅反例。我通常说指向函数或子例程的指针不存在,那么你通常是错的,请参阅反例。