C++程序中各種變量的內存分配

C++程序中各種變量的內存分配

首先可以看下c++程序將內存分爲幾個區域:

1、棧。該內存區域一般是由操作系統自動分配的,我們不用考慮刪除問題。函數的參數,函數體中我們定義的變量,一般都是在棧中分配內存的。這些內存的分配一般在函數調用時才分配內存

2、堆。堆中分配的內存一般是程序員自己分配的,比如我們使用new(c++),malloc(c)來分配內存中,這些分配的內存都是放在堆中的。這些內存要由我們自己釋放,os在內存足夠使用的時候,不會去釋放這些內存

3、全局/靜態存儲區。所有的全局變量跟靜態變量都是在這個區域,如果全局變量沒有初始化,那麼這個 未初始化的全局變量與   靜態變量跟已經初始化的全局變量在相鄰的區域。

4、常量存儲區。這裏一般放的是字符串。

5、代碼段(文本段)存儲程序代碼的01進制文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章