动态分配二维数组 C++

动态分配二维数组

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;
}
发布了16 篇原创文章 · 获赞 17 · 访问量 756

猜你喜欢

转载自blog.csdn.net/weixin_45644911/article/details/104198732