C 使用變數作為陣列長度

2021-08-10 09:13:42 字數 323 閱讀 8037

部落格**:

c++中一般是不能使用變數作為乙個陣列的長度的,必須使用常量。 

這是因為陣列作為c++的內建資料型別,其空間分配在棧記憶體中,這部分空間的大小在編譯時就要確定,不能等到執行時再分配。常量的值在編譯時就能得到,而變數的值在執行時才能確定。 

但是仍然有辦法使用變數作為陣列的長度:繞過棧記憶體,將陣列空間開闢在堆空間內:

int *d = new

int[n];

這樣這塊記憶體就是自己開闢的了,可以使用變數初始化陣列的長度,記憶體空間會在執行時動態分配。 

注意:

C 陣列長度

初學c 到陣列的時候想手動寫一下迴圈輸出陣列內容的簡單迴圈,int arrayint 1,2,3,4,5 for size t i 0 i 結果發現輸出內容不對,i的值遠遠比size大,於是查資料了解一下sizeof是什麼作用 sizeof是乙個操作符 operator 其作用是返回乙個物件或型別所...

C 求陣列長度

c c 中沒有提供直接獲取陣列長度的函式,對於存放字串的字元陣列提供了乙個strlen函式獲取長度,那麼對於其他型別的陣列如何獲取他們的長度呢?其中一種方法是使用sizeof array sizeof array 0 在c語言中習慣上在 使用時都把它定義成乙個巨集,比如 define get arr...

C 獲取陣列長度

c c 中如何獲取陣列的長度?如何獲取陣列的長度 2010 12 15 20 49 c c 中如何獲取陣列的長度?收藏 c c 中沒有提供 直接獲取陣列長度的函式,對於存放字串的字元陣列提供了乙個strlen函式獲取長度,那麼對於其他型別的陣列如何獲取他們的長度呢?其中一種方法是使 用sizeof ...