當前位置:趣味科普網>經驗>

c語言陣列在記憶體中是怎麼分配的

經驗 閱讀(1.15W)

c語言陣列在記憶體中是怎麼分配的

使用C語言程式設計,實際上使用的記憶體只有一種虛擬記憶體。根據功能的不同在C語言中又將虛擬記憶體為分三類:棧區、堆區、靜態資料區,無論單一變數還是陣列,其記憶體分配都是如此;

1、棧區:一般每一個函式對應一個棧區,在編譯原理中稱為棧幀;

2、靜態資料區:這實際上對應於生成的可執行檔案的data區段,因為這個區段在生成的可執行檔案中,因此是“靜態的”;

3、堆區:堆區是最複雜的,有作業系統負責堆管理,但是當用C語言編譯器生成一個可執行檔案並且執行時,它會預設建立一些堆。