定義數組時爲何不能用含有變量的表達式

 在棧上建立數組時,不能使用含有變量的表達式,如:int a[x+2];錯誤數組 緣由:在棧上建立數組時編譯器編譯的時候就須要在棧上分配內存,但是有了變量之後,編譯器就沒法知道該分配多大的內存空間,故編譯器會報錯。可是定義通常變量如:int a;編譯器會自動識別 int 佔多大內存分配給他。spa 對比:若是是動態建立數組時(也就是在堆上建立數組時)能夠出現變量如:new a【x+1】;正確;內存
相關文章
相關標籤/搜索