-4
A
回答
2
是。幾種方法來做到這一點。
其實不是一個運行時間,但你沒有指定一個維度:
int array[][3] = {{1,2,3}, {4,5,6}};
堆棧,其中rows
運行時間變量:
int array[rows][COLUMNS];
在堆使用malloc
,但不要忘記稍後致電free
:
int (*array)[COLUMNS];
array = malloc(rows*sizeof(int[COLUMNS]));
// ...
free(array);
+0
+1,你是對的,我第一次錯了 –
1
是的。您可以動態地分配一個:
// Allocate the columns
int** two_dimensional_array = malloc(COLUMNS * sizeof(int*));
// Find the number of rows on runtime
// however you please.
// Allocate the rest of the 2D array
int i;
for (i = 0; i < COLUMNS; ++i) {
two_dimensional_array[i] = malloc(sizeof(int) * ROWS);
}
或者,你可以有一個堆棧具有可變大小(C99)上:
int n;
scanf("%d", &n);
int arr[n][COLUMNS];
+0
感謝您的澄清。 :)我很困惑,如果我們可以使用靜態數組或不。 –
+0
@tariqzafar:是的,你可以使用C數組,'malloc'不是必需的。 –
相關問題
- 1. 動態內存分配 - 二維數組
- 2. C++動態分配二維數組過度分配內存?
- 3. 二維數組的連續內存分配---釋放內存
- 4. 分配二維數組
- 5. 分配二維數組ç
- 6. 內存分配。二維數組(無效函數)
- 7. 分配二維數組的一行到一維數組
- 8. 二維數組(矩陣)內存分配問題
- 9. 在CUDA的設備內存上分配二維數組
- 10. 取消分配這個特定的二維數組的內存
- 11. 二維數組錯誤:矢量索引超出內存分配
- 12. 爲多維數組分配內存
- 13. 二維動態內存分配 - ObjectiveC
- 14. 分配到二維數組二維數組中的一個結構
- 15. 分配連續的內存到一個二維數組聲明後
- 16. 將二維數組的一行分配到一維矩陣
- 17. 動態分配二維數組
- 18. 分配和免費的二維數組
- 19. 二維數組分配問題
- 20. Java二維數組隨機分配
- 21. 去分配對象的二維數組
- 22. 動態分配一個二維數組
- 23. 重新分配二維數組的值
- 24. 分配一個二維數組
- 25. 二維數組的動態分配
- 26. 在C的結構內包裹着指針的二維數組分配內存
- 27. 從兩個一維數組中分配值給二維數組
- 28. 在C中分配二維數組中的一維數組#
- 29. C++中的二維動態內存分配數組中的空閒分配內存
- 30. Objective C二維數組內存問題
只是推遲一個直到你知道行數爲止。 – 2013-07-25 05:57:55