问一个字符指针的问题 ( 积分: 20 )

  • 主题发起人 主题发起人 loskiller
  • 开始时间 开始时间
L

loskiller

Unregistered / Unconfirmed
GUEST, unregistred user!
代码如下:<br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br> &nbsp;p,p1:^char;<br>begin<br> &nbsp;new(p);<br> &nbsp;p^:='1';<br> &nbsp;dispose(p);<br> &nbsp;p^:='2';<br>end;<br>为什么我dispose(p)后 仍可对p^赋值
 
代码如下:<br>procedure TForm1.Button1Click(Sender: TObject);<br>var<br> &nbsp;p,p1:^char;<br>begin<br> &nbsp;new(p);<br> &nbsp;p^:='1';<br> &nbsp;dispose(p);<br> &nbsp;p^:='2';<br>end;<br>为什么我dispose(p)后 仍可对p^赋值
 
可以,P并没有存放内容.
 
肯定是可以,因为 P &lt;&gt; nil!<br>但很危险,因为 P 已经 Disposed!因此,系统不会认为那段内存属于谁,如果没有保护措施会导致不可预期的问题<br>事实上已经没有危险:因为你已经知道了答案。<br>理论上没有别的疑问,因为你应该把分给我,:)
 
多人接受答案了。
 
后退
顶部