C++中给二维指针分配内存
我们都知道在 C++ 中分配动态数组用的是 new , 撤销动态数组用的是 delete[ ] ,现在让我们来看看怎么利用这两个关键字给二维指针分配内存。
原理就不写在这里了,毕竟网上的介绍有很多,代码如下所示:
#include <iostream>using namespace std;#defineN5#defineM10int main(int argc, char **argv){int **p;int i,j;p = new int* [N];for (i = 0; i < N; i++)p[i] = new int [M];for (i = 0; i < N; i++)for (j = 0; j < M; j++)p[i][j] = i + j;for (i = 0; i < N; i++){for (j = 0; j < M; j++){cout<<"["<<p[i][j]<<"]"<<" ";cout<<*(*(p + i) + j)<<" "<<endl;}cout<<endl;}for (i = 0; i < N; i++){delete [] p[i];p[i] = NULL;}delete [] p;p = NULL;return 0;}