堆栈生长方向理解

1,107 阅读1分钟

栈的特点

(1)栈是从高地址向低地址增长

(2)栈是自栈底向栈顶增加数据

什么是栈顶,什么是栈底?

堆和栈都可以看作一个杯子,杯顶是栈顶(堆顶),杯底是栈底(堆底),而在内存中,堆和栈这两个“杯子”是倒扣着的,也就是他们的杯顶是互相对着的,如下图

image.png

这样,栈的生长方向是高地址往低地址,堆的生长方向刚好相反;所以在压栈时,栈顶指针esp减小,出栈时,栈顶指针esp增加

本文主要记录该部分内容

文章引用自:栈”顶到底是上面还是下面?高地址还是低地址?