c c 動態陣列

2021-10-01 13:24:48 字數 423 閱讀 3598

**報錯:variable-sized object may not be initialized

使用變數定義長度時,不可在定義時同時進行初始化賦值,需要在之後進行賦值

#include#include#includeint main();

while(scanf("%d %d", &n, &m)!=0)

} return 0;

}

那為什麼需要如此規定呢?

因為陣列是連續的記憶體,如果在函式裡動態的建立的話,那麼就沒有辦法保證和檢測到如此多的連續的記憶體空間。所以陣列的空間是在程式啟動時就已經分配好了。

其實動態記憶體的話最好還是使用指標~

c c 動態申請陣列

new和delete運算子用於動態分配和撤銷記憶體的運算子 new用法 1.開闢單變數位址空間 1 new int 開闢乙個存放陣列的儲存空間,返回乙個指向該儲存空間的位址.int a new int 即為將乙個int型別的位址賦值給整型指標a.2 int a new int 5 作用同上,但是同時...

C C 語言實現動態陣列

這裡說的動態陣列是可以根據需要動態增長占用記憶體的陣列,比如程式初始分配了100個元素,可是執行了一段時間後區區100個空間不能滿足了,現在需要400個,怎麼辦呢 那肯定需要再額外分配300個。c語言有realloc 函式來解決空間擴充的問題,但是不要忘了realloc可能會遷移記憶體,很多時候陣列...

C C 語言實現動態陣列

這裡說的動態陣列是可以根據需要動態增長占用記憶體的陣列,比如程式初始分配了100個元素,可是執行了一段時間後區區100個空間不能滿足了,現在需要400個,怎麼辦呢 那肯定需要再額外分配300個。c語言有realloc 函式來解決空間擴充的問題,但是不要忘了realloc可能會遷移記憶體,很多時候陣列...