c++怎么动态分配二维数组

avatar
作者
猴君
阅读量:0

在C++中,动态分配二维数组可以使用指针的指针(二级指针)来实现。以下是一个示例代码:

#include <iostream>  int main() {     int rows, cols;      // 输入行数和列数     std::cout << "Enter the number of rows: ";     std::cin >> rows;     std::cout << "Enter the number of columns: ";     std::cin >> cols;      // 动态分配二维数组     int** arr = new int*[rows];  // 创建指向指针的指针,表示行     for (int i = 0; i < rows; i++) {         arr[i] = new int[cols];  // 每个指针指向一个数组,表示列     }      // 为二维数组赋值     for (int i = 0; i < rows; i++) {         for (int j = 0; j < cols; j++) {             arr[i][j] = i + j;         }     }      // 打印二维数组     for (int i = 0; i < rows; i++) {         for (int j = 0; j < cols; j++) {             std::cout << arr[i][j] << " ";         }         std::cout << std::endl;     }      // 释放内存     for (int i = 0; i < rows; i++) {         delete[] arr[i];     }     delete[] arr;      return 0; } 

该代码中,首先通过new运算符动态分配了一个指针数组,表示行。然后,使用循环为每个指针分配一个数组,表示列。接下来,为二维数组赋值,并打印出来。最后,使用delete运算符释放内存。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!