📅  最后修改于: 2023-12-03 15:08:26.594000             🧑  作者: Mango
在C++中,我们可以使用new运算符动态地分配内存。使用new运算符动态声明2D数组需要以下步骤:
int **arr;
arr = new int *[row];
其中row为数组的行数。
for (int i = 0; i < row; i++) {
arr[i] = new int [col];
}
其中col为数组的列数。
对数组进行赋值或者有需要时进行读取操作。
最后,使用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数组的方法。