关于堆、栈的描述

Delphi 的属性太复杂了, 先换换思路, 再继续学习.

程序需要的内存空间分为 heap(堆) 和 stack(栈);

heap 是自由存储区, stack 是自动存储区;

使用 heap 需要手动申请、手动释放, stack 是自动申请、自动释放;

使用 heap 时, 如果只申请不释放, 就会发生"内存泄露";

不需要申请和释放空间的元素, 譬如变量、结构(record)等, 是存与 stack(栈);

反之如需要 Create 和 Free 的对象、需要 GetMem 和 FreeMem 的指针等, 则是存于 heap(堆);

stack 比 heap 快一点点.
原文地址:https://www.cnblogs.com/chenhs/p/1269021.html