/*
* Author: MH
* Since 2013/10/21
* Toolkit: Code::Block 12.11
*/
#include <iostream>
using namespace std;
int main() {
int i, r=3;
// generate rows
int **p = new int *[r];
// generate columns
p[0] = new int[1]; // columns for the 1st row
p[1] = new int[2]; // columns for the 2nd row
p[2] = new int[3]; // columns for the 3rd row
// assign values
p[0][0] = 1;
p[1][0] = 2; p[1][1] = 2;
p[2][0] = 3; p[2][1] = 3; p[2][2] = 3;
// output the value
cout << p[0][0] << endl;
cout << p[1][0] << " " << p[1][1] << endl;
cout << p[2][0] << " "<< p[2][1] << " "<< p[2][2] << endl;
// deallocate
for (i=0; i<r; i++) {
delete []p[i]; // delete columns
}
delete []p;
return 0;
}
搜尋此網誌
[C/C++][不同欄位的動態二維陣列]
要特別注意的是 p 的產生方法,最後 deallocate 可簡單的用剛好可 deallocate 最大 column 數即可,當然也可依每個 row 的不同 column 去 deallocate
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言