//先开第一维空间
int *p = nullptr;
p = new int [m];
for (int i = 0; i < m; ++i)
{
//再开第二维空间
p[i] = new int[n]; //p不是个二级指针吗,可以这样用吗?
}
for(int i = 0; i < m; ++i)
{
delete [] p[i];
}
delete [] p;
用
如果要声明成二维数组,需要2个星号
int **p
p = new int* [m];
...
p[i] = new int[n];
int **p = nullptr;
p = new int *[m];
格式不对。
下面这一段删除
for(int i = 0; i < m; ++i)
{
delete [] p[i];
}
这篇文章:关于指针*p,指针的指针**p,以及二维数组的理解 也许能够解决你的问题,你可以看下