Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / C++二维指针分配内存空间

C++二维指针分配内存空间int **p;
    int x;
    p=new int*[5];
    for (int i=0;i<5;i++)
    {
      p[i]=new int[4];
    }
 
  使用时:
 
  for(int i=0;i<5;i++)
   for(int j=0;j<4;j++)
     p[i][j]=i+j;
 for(int i=0;i<5;i++)
   for(int j=0;j<4;j++)
      {
        std::cout<<p[i][j];
        if(j==3)
        std::cout<<std::endl;
      }
 
  释放内存时应该注意释放方法:
 
  for(int i=0;i<5;i++)
 
    delete[] p[i];
 
  delete[] p;
 或者:
      分配:
   tSendCmdContent=(char**)malloc(/*MATRIX_IN_COUNT*/MATRIX_OUT_COUNT*sizeof(char*));     
  for(int j=0;j <MATRIX_OUT_COUNT/*MATRIX_IN_COUNT*/;j++)     
 
  tSendCmdContent[j]=(char*)malloc(MATRIX_CMD_LEN*sizeof(char)); 
   释放:
 for(int j=0;j <MATRIX_OUT_COUNT/*MATRIX_IN_COUNT*/;j++)     
 {     
    free(tSendCmdContent[j]);     
 }     
 free(tSendCmdContent);