測試環境 VC++6.0
C程序由下面5部分組成:
1)棧——增長方向:自頂向下增長;存放局部變量和函數的參數值。在程序運行時由編譯器自動分配釋放。
2)堆——動態存儲區(由malloc,new分配)。是向高地址擴展的數據類型,是自下向上的擴展方式。一般由程序員釋放,若程序員不釋放,在程序執行結束時由OS收回。
3)未初始化數據段(bss段)——存放未初始化的全局變量和未初始化的靜態變量。
4)初始化數據段(數據段)——存放初始化的全局變量和初始化的靜態變量。
5)代碼段:存放程序的二進制代碼。
1、靜態區存儲變量由低地址到高地址。
2、棧區存儲變量由高地址到低地址。
3、無論是全局還是局部數據,大標元素放在高地址中。
靜態全局未初始化(變量和數組)和靜態局部未初始化(變量和數組)放在同一區域。
靜態全局已初始化(變量和數組)和靜態局部已初始化(變量和數組)放在同一區域。