動態分配二維數組 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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章