我试图得到堆栈的概念,我有困惑,我试图找到答案,但找不到.
好的,所以值只从顶部存储在堆栈中意味着它随着值位置逐渐增长而增长,这意味着增长方向应该向上,如图所示:
但Stack如上所述向下增长.怎么样??
当值存储在堆栈中时,它占用空间,因此它意味着堆栈不会增长,因为它的内存正在减少,但是当值从堆栈返回时,堆栈会增长,因为存储在堆栈中是空闲的.还有一个关于stackoverflow的答案说堆栈的发光方向与发光的方向相反 我是否正确?如果没有请解释
堆栈通常表示任何后进先出(LIFO)数据结构.这是一个具有"推"和"弹出"操作的数据结构.堆栈中项目的内存位置是"向上还是向上"增长是一个实现细节,并且可以以任一方式实现它.
当程序员说堆栈时,我们通常是指当前进程(线程)的调用堆栈.在我的机器上,调用堆栈确实向下增长,因此在"push"指令之后,堆栈的顶部位于较低的地址.这也是一个实现细节,并不是C程序员通常需要担心的事情.