new
new
1.
var
a:^integer; {在栈内分配内存,指针型a所占的内存大小为4}
begin
new(a); {在堆内分配出一大小sizeof(integer)地址赋予a}
a^:=34; {地址为a的内存区域(堆内)被赋予值:34}
showmessage(inttostr(a^));
dispose(a); {释放在堆内分配的空间,堆内分配的空间不会自动释放}
end; {a本身在栈中所占的地盘自动归还,这是栈的特点}
2.
var
x,y:integer; {在栈内分配内存,x,y所占的内存大小为4}
a:^integer; {在栈内分配内存,指针型a所占的内存大小为4}
begin
x:=34; {x被赋予值:34}
a:=@x; {a被赋予x的地址,这个地址当然是位于栈内}
y:=a^;
showmessage(inttostr(y));
end;
posted on 2010-11-23 18:48 haiou327'Blog 阅读(217) 评论(1) 收藏 举报
浙公网安备 33010602011771号