靜態分配,局部變量分配,且一旦分配好,其內存大小就固定下來不能改變,在編譯和鏈接的階段就會分配好。
動態分配,就是指在程序執行的過程中動態地分配或者回收存儲空間的分配內存的方法。動態內存分配是由系統根據程序的需要即時分配,且分配的大小就是程序要求的大小。
動態內存分配是哪些數據?
1.變長數組。
2.聲明的指針指向一個內存,用malloc等內存分配函數申請。
內存的靜態分配和動態分配的區別主要是兩個:
一是時間不同。靜態分配發生在程序編譯和連接的時候。動態分配則發生在程序調入和執行的時候。
二是空間不同。堆都是動態分配的,沒有靜態分配的堆。
棧有2種分配方式:靜態分配和動態分配。靜態分配是編譯器完成的,比如局部變量的分配。動態分配由函數malloc進行分配。不過棧的動態分配和堆不同,他的動態分配是由編譯器進行釋放,無需我們手工實現。