本帖最后由 vvt 于 2017-2-23 18:41 编辑
是的。传的是地址。正是因为这一点,所以指针,在fortran里的应用并没有很高的必要性(与C相比)
然而,并不是说fortran传递指针就没必要了。毕竟,fortran的指针,是“智能指针”,自带目标数组的维度大小上限下线间距等“额外信息”
举例来说:
[Fortran] 纯文本查看 复制代码 Program www_fcode_cn
Implicit None
real , target ::x(3:5) = 3.1415954
real , pointer :: p(:)
p => x
call subp( p )
call subx( x )
contains
subroutine subp(x)
real , pointer :: x(:)
write(*,*) x , ubound(x) , lbound(x)
end subroutine subp
subroutine subx(x)
real :: x(:)
write(*,*) x , ubound(x) , lbound(x)
end subroutine subx
End Program www_fcode_cn
|