堆栈元素编号

所以,我正在使用Lua C API,我对堆栈系统非常陌生。我正在学习如何管理堆栈并推入和弹出元素,但是我对数字有些困惑。

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

点赞
用户869951
用户869951

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

2013-12-26 06:27:49