在計算機內存上,比如說IA32,一般堆棧的範圍是多少?我知道像0xffff1234這樣的地址可能在堆棧中。例如堆棧可能增長到0x0800abcd?堆怎麼樣?我知道堆地址總是低於堆棧地址,但通常它的範圍是什麼?還有堆下面的區域是什麼?堆棧和內存地址的範圍是什麼?
堆棧 - 程序使用實際運行程序內存。這包含局部變量,回撥數據(例如,當你調用一個函數,該堆棧存儲的狀態,並把你的代碼,你輸入的新功能之前),這種性質的一些其他的小東西。您通常不直接控制堆棧,變量和數據被破壞,當您移入和移出函數作用域時創建。
堆 - 該方案的「動態」存儲器。每次您動態創建一個新對象或變量時,它都會存儲在堆中。這個內存是由程序員直接控制的,你應該負責創建和刪除那裏的對象。
非常感謝!