计算机中的栈是啥

如题所述

计算机中的栈是一种运算受限的线性表。

栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。

栈可以用来在函数调用的时候存储断点,做递归时要用到栈。在i386机器中,栈顶由称为esp的寄存器进行定位。压栈的操作使得栈顶的地址减小,弹出的操作使得栈顶的地址增大。

栈的作用

1、保存局部变量:函数里面也有可能要使用到局部变量,而不能总是用全局变量。则局部变量存储到哪里合适,即不能让函数嵌套的时候有冲突,又要注重效率。

2、参数传递:传递参数的目的,是为了代码可以重用,让一种方法可以应用到更多的场合,而不需要为N种情况写N套类似的代码。

3、保存寄存器的值:寄存器传参的冲突,可以把寄存器的值临时压入栈里面。

4、其他作用:栈是每个函数架构的基础,实现了函数的重复利用。问题发生的时候,可以利用栈来了解问题发生的情况。栈是构建出操作系统多任务模式的基础。

温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜