記憶體五個區域
-
棧區
由編譯器自動編譯釋放,比如:
//此時將儲存在常量區的字串suica拷貝到棧區.
char string[] = "suica";
-
堆區
堆區需要程式設計師手動分配,手動釋放.
在C語言中可使用malloc進行分配:
//給指標p分配一個大小的記憶體空間
int* p = (int *) malloc (1);
-
靜態區
只初始化一次;如果初始化沒給值,預設為0;只有程式退出才釋放.
將變數定義前加static則儲存在靜態區
static int a = 5;
-
常量區
存放常量字串,程式結束後系統釋放.
int a = 10;
-
程式碼區
存放程式的二進位制程式碼