一个关于指针的问题

fj218 2006-07-23 01:23:19
tyep
PRec=^Trec
Trec=record
s:string;
t:integer;
end;

........
procedure ex;
ver
p:Prec;
t:trec;
begin
t.s='abc';
t.t=1;
p:=@t;
dispose(p); //能不能这么释放,会出现什么问题了

end;
...全文
183 点赞 收藏 3
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lonoaer 2006-07-24
p := NIl;
回复
ccp 2006-07-24
只有用new分配的才需要用Dispose释放
回复
erhan 2006-07-23
不能这么释放。
因为p只是指向t的一个指针,t的内存分配是在函数的栈上,在离开函数的时候会自动回收。
这样做的后果是不可预见的,可能表现不出问题来,也可能程序会崩溃。
回复
发动态
发帖子
语言基础/算法/系统设计
创建于2007-08-02

1.6w+

社区成员

Delphi 语言基础/算法/系统设计
申请成为版主
社区公告
暂无公告