堆疊指針

堆疊指針總是指向棧頂位置。一般堆疊的棧底不能動,所以數據入棧前要先修改堆疊指針,使它指向新的空餘空間然後再把數據存進去,出棧的時候相反。

堆疊指針,隨時跟蹤棧頂地址,按"先進後出"的原則存取數據。

基本介紹

  • 中文名:堆疊指針
  • 外文名:Stack pointer
  • 套用:堆疊操作
棧是一種特殊的線性表,是一種只允許在表的一端進行插入刪除操作的線性表。表中允許進行插入、刪除操作的一端稱為棧頂。表的另一端稱為棧底。棧頂的當前位置是動態的,對棧頂當前位置的標記稱為棧頂指針。當棧中沒有數據元素時,稱之為空棧。棧的插入操作通常稱為進棧或入棧,棧的刪除操作通常稱為退棧或出棧。
計算機中的堆疊主要用來保存臨時數據,局部變數和中斷/調用子程式程式的返回地址。
堆疊指針是在棧操作過程中,有一個專門的棧指針(習慣上稱它為TOP),指出棧頂元素所在的位置。
堆疊指針總是指向棧頂元素。
堆疊可以使向下生長的(向低地址),也可以是向上生長的。
如果堆疊是向上生長的,數據入棧的時候,堆疊指針先加1,再壓棧。出棧的時候先彈出數據,堆疊指針再減1。如果堆疊是向下生長的,數據入棧時指針將減1,數據出棧時指針將加1。

相關詞條

熱門詞條

聯絡我們