什么是堆栈?

 我来答
生活类答题小能手
高能答主

2023-07-01 · 专注生活类答题,解决生活问题
生活类答题小能手
采纳数:1645 获赞数:295612

向TA提问 私信TA
展开全部

堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。

在采用段式内存管理方式进行程序内存分配的架构中,堆栈段用来存放局部变量和函数返回地址。堆栈段是在程序运行时动态分配使用,只需要通过栈顶指针即可访问。大多数CPU中都有专用寄存器可以被用来存放栈顶地址。

理论上,最小的栈可能是一个仅能保存函数调用(function call)地址的结构,以致被调用的函数能根据该地址返回(return)到原函数里。除此功能以外,开发者也可以将栈另作他用。



扩展资料

堆栈中的物体具有一个特性:第一个放入堆栈中的物体总是被最后拿出来, 这个特性通常称为先进后出 (FILO—First-In/Last-Out)。 堆栈中定义了一些操作, 两个最重要的是PUSH和POP。 

PUSH(入栈)操作:堆栈指针(SP)加1,然后在堆栈的顶部加入一 个元素。

POP(出栈)操作相反,出栈则先将SP所指示的内部ram单元中内容送入直接地址寻址的单元中(目的位置),然后再将堆栈指针(SP)减1。这两种操作实现了数据项的插入和删除。

参考资料来源:百度百科-堆栈

参考资料来源:百度百科-堆栈段

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式