棧頂是高地址還是低地址 計(jì)算機(jī)二級(jí)怎么確定棧的棧頂和棧底位置?
計(jì)算機(jī)二級(jí)怎么確定棧的棧頂和棧底位置?如果您編寫一段代碼來實(shí)現(xiàn)堆棧,那么所有這些問題都取決于您自己。但要注意壓堆與卸堆的匹配。也就是說,如果先按堆棧,然后移動(dòng)指針,則表示指針指向自由區(qū)域。當(dāng)您從堆棧中
計(jì)算機(jī)二級(jí)怎么確定棧的棧頂和棧底位置?
如果您編寫一段代碼來實(shí)現(xiàn)堆棧,那么所有這些問題都取決于您自己。
但要注意壓堆與卸堆的匹配。
也就是說,如果先按堆棧,然后移動(dòng)指針,則表示指針指向自由區(qū)域。當(dāng)您從堆棧中取出時(shí),需要首先移動(dòng)指針,然后獲取值。
如果您詢問的是運(yùn)行時(shí)存儲(chǔ)臨時(shí)變量的堆棧。低位地址是棧頂還是高位地址是棧頂取決于系統(tǒng)架構(gòu)。X86平臺(tái)和arm平臺(tái)是不同的。
棧的順序存儲(chǔ)空間怎么表示?
順序堆棧,即堆棧的順序存儲(chǔ)結(jié)構(gòu),使用一組具有連續(xù)地址的存儲(chǔ)單元依次存儲(chǔ)從堆棧底部到堆棧頂部的數(shù)據(jù)元素。同時(shí),還附加了一個(gè)指針top,以指示堆棧元素的頂部在順序堆棧中的位置。通常使用top=0表示空堆棧。一般來說,初始化空堆棧時(shí),不應(yīng)限制堆棧的最大容量。更合理的方法是:首先為堆棧分配一個(gè)基本的容量,然后在應(yīng)用過程中當(dāng)堆??臻g不足時(shí)擴(kuò)展堆棧??斩褩5谋磉_(dá)式是s.top==s.base。