zoukankan      html  css  js  c++  java
  • delphi 精要-读书笔记(内存分配释放)

     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

    http://blog.csdn.net/tercel99/article/details/2089359

  • 相关阅读:
    C#获取Word文档页数,并跳转到指定的页面获取页面信息
    GC 垃圾回收
    Open Flash Chart 之线图
    Open Flash Chart 之线图(二)
    Nullable可空类型
    System.AppDomain类
    C# 事件
    C#方法的参数 Ref Out Params 4种类型的参数
    单向链表
    C# 结构体 struct
  • 原文地址:https://www.cnblogs.com/findumars/p/5294097.html
Copyright © 2011-2022 走看看