C 中的自由儲存與堆疊:實際差異
執行動態記憶體分配,一種在運行時分配記憶體的技術使用new /delete 或malloc/free 函數。雖然人們經常提到 new/delete 在“自由存儲”上運行,而 malloc/free 使用“堆”,但問題出現了:這些術語在實踐中真的有不同嗎?
編譯器區別
當談到 C 時,「自由儲存」和「堆」之間的區別很大程度上是概念性的。編譯器通常不會對這兩個術語進行任何技術區分。這與底層函數(new/malloc 和 delete/free)形成鮮明對比,它們的實作是明確的。
獨立的記憶體空間?
是否「free- 「儲存」和「堆」駐留在不同的記憶體空間中,取決於編譯器的實作。有些編譯器可能會為每個編譯器分配不同的記憶體段,而其他編譯器可能會使用單一池。記憶體使用可能有重疊,但遵守既定的規則仍然至關重要C 中的約定。 ,防止記憶體洩漏等問題。了。實踐仍然很重要。
以上是C 中的自由儲存與堆:它們在實踐中真的有不同嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!