C++內存分區如下: 系統區:存放系統數據,程序中彈出的內存錯誤,像“內存不能read”,就是非法訪問了系統區的數據。 代碼區(文本區):存放函數代碼,程序代碼。我們調用一個函數,函數指針指向的就是這片內存區。 堆棧區:new / delete 來申請堆內存,並且釋放,否則memory leak。棧由編譯器自動處理,釋放內存。 全局和靜態存儲區:定義在main()函數外的全局變量 和 任何全局,局部靜態變量都存儲在全局和靜態存儲區。 局部靜態變量,一般只能在局部區域可以使用,如果我們能知道局部靜態變量的地址,那麼在局部區域外也能調用局部靜態變量。 靜態變量(即使是局部的靜態變量)都是隨整個程序的退出,而釋放的。 自由區:這個區是用來保存C語言malloc來申請的內存區。 常量區:const定義的變量,以及一些常量字符串保存的位置,此區不准許用戶修改。