C++动态分配数组
1.一维数组
#include <iostream>
using namespace std;
int main()
{
int *p, n;
cin >> n;
p = new int[n];
for(int i = 0; i < n; i++)
{
p[i] = i;
cout << p[i] << endl;
}
delete[] p; //不用的时候删除,防止内存会泄漏
return 0;
}
2.二维数组
#include <iostream>
using namespace std;
int main()
{
int rows;
int cols;
cin >> rows >> cols;
int **p = new int*[rows]; //分配行指针数组
for(int i = 0; i < rows; i++)
p[i] = new int[cols]; //为每行分配空间
for(int i = 0; i < rows; i++)
{
for(int j = 0; j < cols; j++)
{
p[i][j] = j;
cout << p[i][j] << " ";
}
cout << endl;
}
for(int i = 0; i < rows; i++)
delete[] p[i]; //删除每一行分配的空间
delete[] p; //删除行指针数组
return 0;
}