如果多次將某物推入堆棧(例如,在一個循環中),堆棧是否不斷增加或者是否替換了之前的值?例如,重複推EDI 5次。堆棧會有5個EDI?關於「推」和堆棧的問題
1
A
回答
2
堆棧不斷增長,直到達到某個操作系統定義的限制。然後拋出異常。這個限制在PC上通常爲256k甚至兆字節,以允許遞歸。
堆棧不保持類型,這樣以來EDI是一個32位寄存器,之後5推進EDI的,將包含5個32位值,同
1
沒有生長在EDI值。堆棧指針寄存器每次推動時都會增加(或減少,取決於CPU架構),因此它指向一個新的但現有的存儲器位置。
這通常被稱爲堆「生長」,但它確實是相同的話說,C:
int stack[100];
int sp = 0;
stack[sp++] = 42; // push
的CPU堆棧,像上面的陣列,是固定的大小,並且當它是耗盡了某種錯誤(再次依賴於體系結構)。
2
確實堆棧保持增長
是。這就是爲什麼它被稱爲「堆棧」。這是一個非常基本的屬性,因爲它允許遞歸調用(子例程使用不同的參數調用它自己)。
相關問題
- 1. 關於堆棧和堆棧內存使用的問題
- 2. UINavigationController堆棧問題推和彈
- 3. 我有問題關於堆棧
- 4. 堆棧問題
- 5. 堆棧char問題
- 6. 問題與堆棧
- 7. Lua堆棧問題
- 8. 我有關於堆棧幀結構的問題嗎?
- 9. 關於堆棧指針的簡單彙編程序問題
- 10. 關於assy和堆有點新問題
- 11. python問題的字典和堆棧
- 12. 有趣的堆棧問題?
- 13. Java中的堆棧問題
- 14. 堆棧溢出(關於「evhttp_uri_parse」)
- 15. 有關線程和進程堆棧的一個簡單問題
- 16. 堆和棧的問題,對於結構 - C編程
- 17. C++堆棧跟蹤問題
- 18. LINQ堆棧大小問題
- 19. Viewcontroller堆棧理解問題
- 20. 問題安裝MEAN堆棧
- 21. Highcharts堆棧列問題
- 22. Android活動堆棧問題
- 23. PHP調用堆棧問題
- 24. 技術堆棧問題
- 25. 關於查看ID的問題一堆
- 26. JVM - 堆棧和堆棧
- 27. 關於此後端堆棧的反饋
- 28. 關於堆棧溢出的練習
- 29. 詢問有關SAP ABAP棧和SAP Java堆棧澄清
- 30. 推遲使用`.load()`和/或ajax堆棧