棧屬于什么結構 棧的結構定義

棧屬于什么結構 棧的結構定義

棧的存儲結構是順序存儲結構和鏈表存儲結構 。就像一個箱子,后放的在上邊,所以后進先出 。
【棧屬于什么結構 棧的結構定義】
棧它是一種具有后進先出性質的數據結構,也就是說后存放的先取,先存放的后取 。這就如同要取出放在箱子里面底下的東西(放入的比較早的物體),首先要移開壓在它上面的物體(放入的比較晚的物體) 。內存中的棧區處于相對較高的地址以地址的增長方向為上的話 , 棧地址是向下增長的 。棧中分配局部變量空間,堆區是向上增長的用于分配程序員申請的內存空間 。另外還有靜態區是分配靜態變量,全局變量空間的;只讀區是分配常量和程序代碼空間的;以及其他一些分區 。



由于棧上的空間是自動分配自動回收的 , 所以棧上的數據的生存周期只是在函數的運行過程中,運行后就釋放掉,不可以再訪問 。棧在Windows下,棧是向低地址擴展的數據結構 , 是一塊連續的內存的區域 。這句話的意思是棧頂的地址和棧的最大容量是系統預先規定好的,在 WINDOWS下,棧的大小是2M(也有的說是1M,總之是一個編譯時就確定的常數),如果申請的空間超過棧的剩余空間時,將提示overflow 。因此,能從棧獲得的空間較小 。

相關經驗推薦