C語言之系統內存分區

    系統內存分區從上到下分別是:棧、堆、全局區(靜態區)、常量區、代碼區函數

棧(stack):函數中定義變量存儲在棧中,當調用函數時候函數中定義的變量會被添加到棧中,當函數調用結束的時候,全部被添加的變量都會移除棧在最高的地址上,因此添加的變量地址會逐漸變小。code

堆(heap):Object-C(或者面嚮對象語言)中經過類建立對象就放在這裏它是一塊動態內存,當程序運行時候動態分配給變量,它能夠長時間存在。對象

全局(globals):定義函數外邊的全局變量就放在這個裏面,這裏的變量在程序啓動就被建立,你能夠自由的更改它們。內存

常量區(constants):常量在系統一運行被建立,常量區的內存是隻讀的。如常量字符串就放在這個區。你能夠讀它們可是不能夠修改它們。字符串

代碼區(code):代碼區是隻讀的,該區域是用來存放程序的代碼。變量

相關文章
相關標籤/搜索