C语言 栈的生长方向,和内存的存放方向_怎么看栈的高地址低地址-CSDN博客
文章讲的很明白,但是一般,我们习惯栈底在下面,栈顶在上面,即和文章中反过来。
但是高地址低地址是不变的,即栈底是高地址,栈顶是低地址,即栈增长方向是高地址向低地址。
那么出栈方向是低地址向高地址,即,栈顶指针需要不断加,才能实现出栈(很多程序涉及到栈指针)
堆地址反过来,增长方向是从低地址向高地址。如果释放地址,则先释放高地址,再释放低地址。
下面文章更详细准确:
程序内存空间布局以及对栈顶,栈底的理解_汇编语言栈顶栈底-CSDN博客
这个图很清晰明了: