c程序內存分配及全局變量內存分配

測試環境 VC++6.0

 C程序由下面5部分組成:

  1)棧——增長方向:自頂向下增長;存放局部變量和函數的參數值。在程序運行時由編譯器自動分配釋放。

 2)堆——動態存儲區(由malloc,new分配)。是向高地址擴展的數據類型,是自下向上的擴展方式。一般由程序員釋放,若程序員不釋放,在程序執行結束時由OS收回。

 3)未初始化數據段(bss段)——存放未初始化的全局變量和未初始化的靜態變量。

 4)初始化數據段(數據段)——存放初始化的全局變量和初始化的靜態變量。

 5)代碼段:存放程序的二進制代碼。 


1、靜態區存儲變量由低地址到高地址。

2、棧區存儲變量由高地址到低地址。

3、無論是全局還是局部數據,大標元素放在高地址中。


靜態全局未初始化(變量和數組)和靜態局部未初始化(變量和數組)放在同一區域。


靜態全局已初始化(變量和數組)和靜態局部已初始化(變量和數組)放在同一區域。



 

 

 

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