C++中给二维指针分配内存(实现代码)

 更新时间:2013年10月24日 08:40:56   作者:  
我们都知道在 C++ 中分配动态数组用的是 new , 撤销动态数组用的是 delete[ ] ,现在让我们来看看怎么利用这两个关键字给二维指针分配内存

原理就不写在这里了,毕竟网上的介绍有很多,代码如下所示:

复制代码 代码如下:

#include <iostream>
using namespace std;

#define  N  5
#define  M  10

int 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;
}

相关文章

最新评论