动态分配二维数组
1)采用指针的指针 T**
2)指针的指针指向一片存放指针数组作为行
3)指针数组中每一个元素都指向一个元素数组作为列
例如:
int main(){
int h, l;
cin >> h >> l;
int **ptr; //定义一个 int** 的指针
//分配空间
ptr = new int*[h]; //使其指向一片有 h 个元素的数组 每一个元素存放一个指针
for (int i = 0; i < h; ++i)
ptr[i] = new int[l]; //使每一个数组指针指向一片有 l 的元素的数组 每一个元素存放一个整型变量
//赋值
for (int i = 0; i < h; ++i)
for (int j = 0; j < l; ++j)
cin >> ptr[i][j];
//输出
for (int i = 0; i < h; ++i){
for (int j = 0; j < l; ++j)
cout << ptr[i][j] << ',';
cout << endl;
}
//释放空间
for (int j = 0; j < l; ++j)
delete[] ptr[j];
delete[] ptr;
return 0;
}