// ==========================
// C Style
// ==========================
int **p;
int i;
// 欲配置成 p[10][3]
p = (int **)malloc(10 * sizeof(int *));
for (i = 0; i < 10; i++){
p[i] = (int *)malloc(3 * sizeof(int));
....
// 使用完後釋放記憶體空間
for (i = 0; i < 10; i++)
free(p[i]);
free(p);
// =========================
// C++ Style
// =========================
int **p; // 二維動態
// 欲配置成 p[10][3]
p = new int* [10];
for (int i = 0; i < 10; i++){
p[i] = new int [3];
...
// 使用完後釋放記憶體空間
for (int i = 0; i < 10; i++)
delete [] p[i];
delete [] p;
int (*p)[3]; // 一維固定一維動態
// 欲配置成 p[10][3]
p = new int[10][3];
for (int i = 0; i < 10; i++){
p[i] = new int [3];
...
// 使用完後釋放記憶體空間
delete [] p;
2010年12月20日 星期一
[C/C++] 動態宣告二維陣列
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言