堆栈元素编号

时间:2013-12-25 23:51:17

标签: c lua stack push pop

所以,我正在使用Lua C API,我对堆栈系统很新。我正在学习如何管理堆栈和推送和弹出元素,但我对这些数字感到困惑。

我知道-1指向堆栈中的顶部元素,1是要推入堆栈的第一个元素。 如果1是第一个元素,那么顶部元素3是什么? -2和2是完全相同的东西吗?

1 个答案:

答案 0 :(得分:4)

堆栈中的第一项始终为1,最后一个元素为-1。如果有N个元素,则最后一个元素也可以在N处引用,第一个元素也可以在-N处引用。当您将元素推入堆栈N时,当您弹出元素或使用C API函数从堆栈中弹出元素时,您会减少N.