delphi 精要-读书笔记(内存分配释放)

1.内存分为三个区域:全局变量区,栈区,堆区
全局变量区:专门存放全局变量
栈区:分配在栈上的变量可被栈管理器自动释放
堆区:堆上的变量内存必须人工去释放

2.指针类变量
指针类的变量在声明为全局变量时被初始化为空值,在声明为局部变量时则初始化为一个随机数,对于指针类型一般
要使用一些代码来完成内存分配

3.动态分配内存的函数和过程
procedure GetMem(Var P: Pointer; Size: Integer);
分配大小为Size字节的内存块,并让P指向它

procedure AllocMem(Size: Cardinal):Pointer;
分配大小为Size字节的内存块并始初化为零,并返回地址指针

procedure ReallocMem(Var P: Pointer; Size: Integer);
在途中更改先前用GetMem或者AllocMem分配的内存大小

procedure FreeMem(Var P: Pointer);
使用GetMem和AllocMem分配的内存都应该用FreeMem释放

Procedure New(Var P: Pointer);
用New分配的内存大小由参数P的数据类型确定,因此,不要使用它给无类型指针变量分配内存.

Procedure Dispose(Var P: Pointer);
释放该内存块使用dispose 
 

877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897
461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值