C語言-內存分配

內存五個區域

  • 棧區
    由編譯器自動編譯釋放,好比:程序員

//此時將存儲在常量區的字符串suica拷貝到棧區.
char string[] = "suica";
  • 堆區
    堆區須要程序員手動分配,手動釋放.
    在C語言中可以使用malloc進行分配:ui

//給指針p分配一個大小的內存空間
int* p = (int *) malloc (1);
  • 靜態區
    只初始化一次;若是初始化沒給值,默認爲0;只有程序退出才釋放.
    將變量定義前加static則存儲在靜態區指針

static int a = 5;
  • 常量區
    存放常量字符串,程序結束後系統釋放.code

int a = 10;
  • 代碼區
    存放程序的二進制代碼內存

相關文章
相關標籤/搜索