龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

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

时间:2014-05-16 03:17来源:网络整理 作者:网络 点击:
分享到:
我们都知道在 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;
}

精彩图集

赞助商链接