入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

//用new创建一个二维数组,有两种方法,是等价的

创建时间:2009-01-08 投稿人: 浏览次数:7401

 //用new创建一个二维数组,有两种方法,是等价的  
  一:  
  int   (*p)[10]   =   new   int[5][10];  
  二:  
  int   **p   =   new *  int[5];  
  for(int   i=0;i<5;i++)  
          p[i]   =   new   int[10];  
   
  //指针数组的创建,也有两种方法  
  一:  
  char   *pa   =   new   char[4];  
  for   (int   i=0;i<4;i++)  
  {  
          pa[i]   =   new   char[8];   //为每个指针都分配8个char元素空间。  
  }  
  二:  
  char   *pa[4];//可以不用new创建  
  for   (int   i=0;i<4;i++)  
  {  
          pa[i]   =   new   char[8];   //为每个指针都分配8个char元素空间。  
  }  
   
   
  //delete二维数组  
  for(int   i=0;   i<5;   ++i)  
          delete   []   p[i];  
  delete   []p;  
   
  //delete指针数组  
  一:  
  for(int   i=0;   i<4;   ++i)  
          delete   []   pa[i];  
  delete   []pa;  
  二:  
  for(int   i=0;   i<4;   ++i)  
          delete   []   pa[i];
         
         
          现在已经全部修改通过了的  
   
  #include   <iostream>  
  using   namespace   std;  
   
  void   main()  
  {  
  //用new创建一个二维数组,有两种方法,是等价的  
  //一:  
  int   (*p)[10]   =   new   int[5][10];  
  //二:  
  int   **p   =   new   int*   [5];  
  for(int   i=0;i<5;i++)  
  p[i]   =   new   int[10];  
   
  //指针数组的创建,也有两种方法  
  //一:  
  char   **pa   =   new   char*   [4];  
  for   (int   i=0;i<4;i++)  
  {  
  pa[i]   =   new   char[8];   //为每个指针都分配8个char元素空间。  
  }  
  //二:  
  char   *pa[4];//可以不用new创建  
  for   (int   i=0;i<4;i++)  
  {  
  pa[i]   =   new   char[8];   //为每个指针都分配8个char元素空间。  
  }  
   
   
  //delete二维数组  
  //for一:  
  delete   []p;  
  //for二:  
  for(int   i=0;   i<5;   ++i)  
  delete   []p[i];  
  delete   []p;  
   
  //delete指针数组  
  //for一:  
  for(int   i=0;   i<4;   ++i)  
  delete   []pa[i];  
  delete   []pa;  
  //for二:  
  for(int   i=0;   i<4;   ++i)  
  delete   []pa[i];  
  }

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像