new生成二维数组

转自https://blog.csdn.net/u012684062/article/details/54133288

先申请一个row个元素的一维指针空间,然后对每个一维指针上,申请line个元素的对象空间。这样就可以申请一个row行line列的二维数组空间了。
//用new创建一个二维数组   
一:   
  int (*p)[line] = new int[row][line];   
  删除二维数组:
  delete []p;
二:   
  int **p 
  p = new int*[row];   
  for(int i = 0;i < row; i++)   
    p[i] = new int[line];   


  删除二维数组
  for(int i=0;i<row;i++)
    delete [] p[i];
  delete [] p;




//指针数组的创建
一:
  char *p = new char[row];
  for(int i=0;i<row;i++)
  {
    p[i] = new char[line];//为每个指针都分配line个char元素空间
  }


  删除指针数组:
  for(int i=0;i<row;i++)
    delete [] p[i];
  delete [] p;


二:
  char *p[row];
  for(int i=0;i<row;i++)
  {
    p[i]=new char[line];//为每个指针分配line个char元素空间
  }


  删除指针数组:
  for(int i=0;i<row;i++)
    delete [] p[i];

posted @ 2018-08-12 10:58  食人魔法师  阅读(503)  评论(0编辑  收藏  举报