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

时间:2021-07-26 04:31:01

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

复制代码 代码如下:


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