C++ 构建二维动态数组
int **p; p = new int*[10]; //注意,int*[10]表示一个有10个元素的指针数组 for (int i = 0; i < 10; ++i) { p[i] = new int[5]; }
这样就构成10*5的数组
或者
int v[2][3]={{1,2,3},{4,5,6}}; int (*a)[3]=v; //a是指向有3个int元素的数组的指针 cout<<**a; // 1 cout<<**(a+1); // 4 cout<<*(*a+1); // 2 cout<<*(a[0]+1); // 2 cout<<*(a[1]); // 4
vector二维数组
int i,j; vector<vector<int>> array(5); for (i = 0; i < array.size(); i++) array[i].resize(3); for(i = 0; i < array.size(); i++) { for (j = 0; j < array[0].size();j++) { array[i][j] = (i+1)*(j+1); } }
添加元素
for(int i=0;i<n;i++)
array[i].push_back(x) ;