c++中利用指针实现动态数组。
动态一维数组:
#include<iostream>
using namespace std;
int main()
{
int size;
cin>>size;
//为一维数组开辟空间
int *p=new int[size];
......
//释放一维数组占用的空间
delete[] p;
return 0;
}
动态二维数组:
#include<iostream>
using namespace std;
int main()
{
int row, col;
cin >> row >>col;
//为二维数组开辟空间
int **p = new int*[row];
for (int i = 0; i < row; i++)
{
p[i] = new int[col];
}
.......
//释放二维数组占用的空间
for (int i = 0; i < row; i++)
{
delete[] p[i];
}
delete[] p;
return 0;
}
动态三维数组
#include<iostream>
using namespace std;
{
int MAX_NUM,COL_NUM,ROW_NUM;
cin>>MAX_NUM>>COL_NUM>>ROW_NUM;
double ***Arr3D = new double **[MAX_NUM];
//为三维数组开辟空间
for (int i = 0; i < MAX_NUM; i++)
{
Arr3D[i] = new double *[ROW_NUM];
for (int j = 0; j < ROW_NUM; j++)
{
Arr3D[i][j] = new double[COL_NUM];
}
}
......
//释放三维数组占用的空间
for (int i = 0; i < MAX_NUM; i++)
{
for (int j = 0; j < ROW_NUM; j++)
{
delete[] Arr3D[i][j];
}
delete[] Arr3D[i];
}
delete[] Arr3D;
return 0;
}