1.書上說棧的剩余空間小於申請空間時將提示棧溢出,但是棧又是一塊連續的內存,如圖剩下3byte,如果我要申請一個3byte的數組會提示棧溢出嗎?
2.棧有鏈棧和順序棧,說明棧在內存中有兩個部分,還是人工定義了類似於pop、push的操作強行把棧分為兩部分
3.能舉一些在順序棧和鏈棧上內存自動分配的數據類型嗎,比如像數組這樣在順序棧上的
應該區分數據結構“棧”和程序數據段“棧”。數據結構“棧”是一種後入先出的結構,在實現上可分為鏈棧和順序棧,一般與“隊列”這種結構(先進先出)相比較。而你說的是程序數據段“棧”,或稱“堆棧”,是操作系統為應用程序分配的一段連續內存,因為其操作方式是先入後出的方式,因此被稱為堆棧。程序數據段“棧”在內存上都屬於順序棧,不存在鏈棧,與它可相提並論的是程序數據段“堆”(一塊動態分配的內存空間)。