我们常见的用new来
动态创建一维数组:
int m; std::cin>>m;
int* 数组名=new int[m];
动态创建二维数组:
方法一:
int n; // 地图的长宽
cin >> n;
int** map = new int*[n]; // 创建一个指针的数组,每个指针指向一个整数数组
for (int i = 0; i < n; i++) {
map[i] = new int[n]; // 为每个指针分配一个整数数组
}
// 现在您可以访问 map[i][j] 来操作二维数组中的元素
// 记得在不再使用时释放内存
for (int i = 0; i < n; i++) {
delete[] map[i]; // 释放每个整数数组
}
delete[] map; // 释放指针的数组
方法二:
这个要有vector库函数
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n; // 地图的长宽
cin >> n;
vector<vector<int>> map(n, vector<int>(n)); // 创建一个大小为 n x n 的二维 vector
// 现在您可以使用 map[i][j] 来操作二维数组中的元素
// 无需手动释放内存,vector 会在作用域结束时自动释放内存
return 0;
}