爲什麼棧的數組長度必須是一個常量?而堆的數組長度可以是變量。爲什麼棧的大小有限制?

爲什麼棧的數組長度必須是一個常量?而堆的數組長度可以是變量 棧區數組長度使用變量會報錯。 其原因就在於棧是編譯器管理的,在程序運行前就已經分配好了空間的大小。而使用變量,編譯器無法知道該分配多大的內存空間,於是報錯。但堆上的內存是動態創建的,是在程序運行的同時爲爲它申請內存。(堆裏的動態數組,是程序運行過程中動態申請的,而棧不一樣,申請的數組長度在編譯時就要確定下來,所以必須是確定的數字) 也正因
相關文章
相關標籤/搜索