在這裏動態存儲器的討論:"Intro to C Pointers and Dynamic Memory"可變尺寸的陣列VS釋放calloc用C
作者指出:
像這樣的存儲器塊可有效地用作一個更靈活的陣列。這種方法實際上在現實世界的C程序中更爲常見。它也比「可變大小的數組」
類型存儲器塊他所談論的是這樣更可預測的和靈活的:
const int size = 5;
int * array = calloc(size, sizeof(int));
,然後使用另一個指針進行迭代陣列之上:
int * index = array;
for (i = 0; i < size; i++) {
*index = 1; // or whatever value
index++;
}
我的問題是如何是該方法比標準可變尺寸的陣列更好這樣?:
int array[variable];
或動態:
char name[] = "Nick";
筆者並沒有真正擺脫多的光,爲什麼我應該更喜歡前一種方法後者。或者更具體地說:它如何更「可預測和靈活」?
[malloced陣列VS.的可能的複製可變長度數組](http://stackoverflow.com/questions/16672322/malloced-array-vs-variable-length-array) – 2016-04-23 07:37:46