內存可以分為棧區、堆區、全局區、文字常量區、程序代碼區,其使用與管理如下:
1、棧區(stack),它由編譯器自動分配和釋放,存放函數的參數值,局部變量的值等。其操作方式類似于數據結構中的棧;
2、堆區(heap),它一般由程序員分配和釋放,若程序員不釋放,程序結束時可能操作系統釋放回收。注意,它與數據結構中的堆是兩回事,分配方式類似于鏈表;
3、全局區(靜態區static),全局變量和靜態變量的存儲是放在一起的,初始化的全局變量和靜態變量在同一塊區域,未初始化的全局變量和未初始化的靜態變量在相鄰的另一塊區域,程序結束后由系統釋放。
4、文字常量區,常量字符串就是放在這個區上。程序結束后由系統釋放。
5、程序代碼區,存放函數體的二進制代碼。
新聞熱點
疑難解答