堆栈是一个特定的存储区或寄存器,它的一端是固定的,另一端是浮动的。
堆这个存储区存入的数据,是一种特殊的数据结构。 单片机应用中,堆栈是个特殊存储区,堆栈属于RAM空间的一部分,堆栈用于函数调用、中断切换时保存和恢复现场数据。 操作堆栈使用两种基本操作:推入(压栈,push)和弹出(弹栈,pop): - 推入:将资料放入堆栈顶端,堆栈顶端移到新放入的资料。
- 弹出:将堆栈顶端资料移除,堆栈顶端移到移除后的下一笔资料。
特点堆栈的基本特点: - 先入后出,后入先出。
- 除头尾节点之外,每个元素有一个前驱,一个后继。
软件堆栈堆栈可以用数组和链表两种方式实现,一般为一个堆栈预先分配一个大小固定且较合适的空间并非难事,所以较流行的做法是Stack结构下含一个数组。如果空间实在紧张,也可用链表实现,且去掉表头。
|