【发布时间】:2012-10-16 03:56:01
【问题描述】:
代码
program asd
real,pointer :: a,b,c
allocate(a)
a=2.0
b=>a
c=>a
deallocate(b) !
print *, associated(c,target=a) ! T
end program
使用英特尔编译器返回 T。我得出结论,“b”不是“a”的完整别名,因为我无法释放“a”占用“b”。 所以我的问题是:如果我用
构造一个指针function ptr
real,pointer :: var,ptr
allocate(var)
ptr=>var
end function
调用这个函数后是否可以释放var?
非常感谢-
【问题讨论】:
标签: pointers memory-management fortran