永发信息网

什么是堆栈?堆栈有何作用?

答案:1  悬赏:10  手机版
解决时间 2021-12-04 07:33
  • 提问者网友:未信
  • 2021-12-03 17:05
什么是堆栈?堆栈有何作用?
最佳答案
  • 五星知识达人网友:野味小生
  • 2021-12-03 17:50
满意答案 热心问友 2011-06-22堆栈其实是数据结果中的两个概念 ,是存放数据的方式,堆:顺序随意;栈:后进先出(Last-In/First-Out)。要说用处,那就是在写代码的时候,有时数据存取肯定是要有规定的顺序的,这个是你自己规定的,然后按照你所写程序的用处的特点来用堆还是栈还是队列之类的顺序 追问: 程序设计时,为什么要对堆栈指针SP重新赋值? 回答: 这不是初始化嘛堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。它的特点是按照先进后出的原则存取数据,这里的进与出是指进栈与出栈操作。80C51片内RAM的部分单元可以用做堆栈。有一个8位的堆栈指针寄存器SP,专用于指出当前堆栈顶部是片内RAM的哪一个单元。80C51单片机系统复位后SP的初值为07H,也就是将从内部RAM的08H单元开始堆放信息。但是,80C51系列的栈区不是固定的,只要通过软件改变SP寄存器的值便可更动栈区。为了避开工作寄存器区和位寻址区,SP的初值可置为2FH或更大的地址值。如果CPU在操作中要使用两组工作寄存器,如果不使用位变量,SP的初值至少应为0FH或更大的值;如果使用位变量,SP的初值至少应为2FH或更大的值;KeilC51编译器会自动计算SP的初始设定值,无需编程者关心。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯