📜  如何使用新运算符在C++中动态声明2D数组(1)

📅  最后修改于: 2023-12-03 15:08:26.594000             🧑  作者: Mango

如何使用新运算符在C++中动态声明2D数组

在C++中,我们可以使用new运算符动态地分配内存。使用new运算符动态声明2D数组需要以下步骤:

  1. 声明指向指针的指针,用来存储二维数组的地址。
int **arr;
  1. 使用new运算符分配内存空间。
arr = new int *[row];

其中row为数组的行数。

  1. 在每一行使用new运算符分配列数的内存空间。
for (int i = 0; i < row; i++) {
    arr[i] = new int [col];
}

其中col为数组的列数。

  1. 对数组进行赋值或者有需要时进行读取操作。

  2. 最后,使用delete运算符释放分配的内存空间。

for (int i = 0; i < row; i++) {
    delete [] arr[i];
}
delete []arr;

完整代码片段:

#include <iostream>
using namespace std;

int main() {
    int row, col; // 数组的行数和列数
    cout << "请输入数组的行数和列数:";
    cin >> row >> col;

    int **arr;
    arr = new int*[row];
    for (int i = 0; i < row; i++) {
        arr[i] = new int[col];
    }

    for (int i = 0; i < row; i++) {
        for (int j = 0; j < col; j++) {
            arr[i][j] = i * col + j;
        }
    }

    for (int i = 0; i < row; i++) {
        for (int j = 0; j < col; j++) {
            cout << arr[i][j] << " ";
        }
        cout << endl;
    }

    for (int i = 0; i < row; i++) {
        delete[] arr[i];
    }
    delete[] arr;
    return 0;
}

这段代码输入数组的行数和列数,然后使用new运算符分配内存空间,对数组进行赋值并读取,最后使用delete运算符释放分配的内存空间。

以上就是使用新运算符在C++中动态声明2D数组的方法。