當前位置:編程學習大全網 - 編程軟體 - C++編程中內存分配形式是什麽?

C++編程中內存分配形式是什麽?

Linux中,C++內存分配方式有三種:

(1)從靜態存儲區域分配。內存在程序編譯的時候就已經分配好,這塊內存在程序的整個運行期間都存在。例如全局變量,static變量。

(2)在棧上創建。在執行函數時,函數內局部變量的存儲單元都可以在棧上創建,函數執行結束時這些存儲單元自動被釋放。棧內存分配運算內置於處理器的指令集中,效率很高,但是分配的內存容量有限。

(3)從堆上分配,亦稱動態內存分配。程序在運行的時候用malloc或new申請任意多少的內存,程序員自己負責在何時用free或delete釋放內存。動態內存的生存期由我們決定,使用非常靈活,但問題也最多。

常見的內存錯誤:

*

內存分配未成功,卻使用了它。

*

內存分配雖然成功,但是尚未初始化就引用它。

*

內存分配成功並且已經初始化,但操作越過了內存的邊界。

(例如在使用數組時經常發生下標“多1”或者“少1”的操作。特別是在for循環語句中,循環次數很容易搞錯,導致數組操作越界。)

*

忘記了釋放內存,造成內存泄露。

*

釋放了內存卻繼續使用它。

  • 上一篇:妳適合怎樣的戀愛方式?
  • 下一篇:8255a的內部包括兩組控制電路
  • copyright 2024編程學習大全網