new

在1中为什么用new()呢?因为1不像2已经有了一个大小为4的integer整型区域存在(即x)
怎么办?所以只好自力更生,利用new(a)在堆内分配一个空闲区域,然后再赋给它(堆内)
34;那位说了,为什么不可以直接a^:=34,看怎么讲了,凡是在栈内分配的内存空间,都是
随机值的:你不信? 
                       var
                          i,n:integer;
                        begin
                          showmessage(inttostr(i)+ '       '+inttostr(n))
                        end; 
                       

看它是不是0,也就是说a:^integer之后,a并不一定是NIL,而是一值(鬼知道),
所以a^:=34;这个语句是给具有地址为a的区域赋值为34,这样可以一些重要的
区域内容就给覆盖了,所以才new(a)分配一个安全区域。相反dispose(a)就是将a所指的堆内存

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值