0
点赞
收藏
分享

微信扫一扫

栈的四种情况

small_Sun 2022-03-19 阅读 63
linuxarm

栈的四种情况

**满栈:**sp指针指向有内容的地址。因此,进栈是先移动指针再存;出栈是先出数据再移动指针

**空栈:**sp指针指向没有内容的地址。因此,进栈是先存再移动指针;出栈是先移动指针再出数据

**减栈:**sp指针向地址减小的方向移动。因此,进栈指针向下移动;出栈是指针向上移动

**增栈:**sp指针向地址增加的方向移动。因此,进栈指针向上移动;出栈是指针向下移动

**总结:**根据上面的栈的概念,可以组成四种栈的情况

  1. 满减栈:sp指针一开始指向有内容的地址,进栈先向下移动指针后再将内容存进去,出栈先移动数据再向上移动指针。

  2. 满增栈:sp指针一开始指向有内容的地址,进栈先向上移动指针后再将内容存进去,出栈先移动数据再向下移动指针。

  3. 空减栈:sp指针一开始指向没有内容的地址,进栈先将内容存进去后再向下移动指针,出栈先向上移动指针再移动数据。

  4. 空增栈:sp指针一开始指向没有内容的地址,进栈先将内容存进去后再向上移动指针,出栈先向下移动指针再移动数据。

**PC:**ARM中使用的是满减栈

举报

相关推荐

0 条评论