首先一定要明白一点,“栈”和”堆“本质上是一小块”内存“,用于程序的运行中存放中间变量。
栈有很多种,这里介绍最常见的一种所谓FD型栈,即数据栈内存地址从高向低呈减小的方向增长,栈指针指向栈顶元素,这里的栈顶其实也是“低”地址。
上图中包含了下面的概念:
(1)数据栈的栈指针:指最后一个写入栈的数据的“内存地址”。
(2)数据栈的基地址:指数据栈的最高地址,ps:从这里就知道了,最高地址反而是基地址。
(3)已占用的数据栈
(4)未占用的数据栈。
(5)数据栈中的数据帧:在数据栈中,为子程序分配的用来保存寄存器和局部变量的区域,这也是栈的作用。