对静态区,栈,堆的理解
生活随笔
收集整理的這篇文章主要介紹了
对静态区,栈,堆的理解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
對靜態區,棧,堆的理解
(1)靜態區:保存自動全局變量和static 變量(包括static 全局和局部變量)。靜態區的內容在總個程序的生命周期內都存在,由編譯器在編譯的時候分配。
(2)棧:保存局部變量。棧上的內容只在函數的范圍內存在,當函數運行結束,這些內容也會自動被銷毀。其特點是效率高,但空間大小有限。?
(3)堆:由malloc 系列函數或new 操作符分配的內存。其生命周期由free 或delete 決定。在沒有釋放之前一直存在,直到程序結束。其特點是使用靈活,空間比較大,但容易出錯。
注意:其實堆棧就是棧,而不是堆。 堆的英文是heap;棧的英文是stack,也翻譯為堆棧。
(1)靜態區:保存自動全局變量和static 變量(包括static 全局和局部變量)。靜態區的內容在總個程序的生命周期內都存在,由編譯器在編譯的時候分配。
(2)棧:保存局部變量。棧上的內容只在函數的范圍內存在,當函數運行結束,這些內容也會自動被銷毀。其特點是效率高,但空間大小有限。?
(3)堆:由malloc 系列函數或new 操作符分配的內存。其生命周期由free 或delete 決定。在沒有釋放之前一直存在,直到程序結束。其特點是使用靈活,空間比較大,但容易出錯。
注意:其實堆棧就是棧,而不是堆。 堆的英文是heap;棧的英文是stack,也翻譯為堆棧。
總結
以上是生活随笔為你收集整理的对静态区,栈,堆的理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 能否把指针变量本身传递给一个函数?
- 下一篇: 结构体相互嵌套使用的条件?