C++建立动态二维、三维数组

二维数组建立:

int w,h;
cin>>w>>h;
char *a=new char[h];
for(int i=0;i<h;i++)
a[i]=new char[w];

用完后
for(int i=0;i<m;i++) delete[] p[i];
delete[] p;

三维数组建立

cin>>hight>>row >> col ;
//动态定义三维数组:
int *** p3 ;
p3 = new int**[hight ] ;
for( i = 0 ; i < hight ; i ++ )
     p3[i] = new int*[row] ;
for( i = 0 ; i < hight ; i ++ )
   for( j = 0 ; j < row ; j ++ )
    p3[i][j] = new int[col] ;
    //输入三维数组值:
   for(i = 0 ; i < hight ; i ++ )
    for(j = 0 ; j < row ; j ++ )
     for( k = 0 ; k < col ; k ++)
      p3[i][j][k] = rand()%10 ;
//输出三维数组:
     cout<<"输出三维数组"<<endl;
   for(i = 0 ; i < hight ; i ++ )
   {
    for( j = 0 ; j < row ; j ++ )
    {
     for( k = 0 ; k < col ; k ++ )
      cout<<p3[i][j][k]<<' ' ;
     cout<<endl;
    }
    cout<<endl;
   }
     //释放三维数组
   for( i = 0 ; i < hight ; i ++ )
      for( j = 0 ; j < row ; j ++ )
         delete []p3[i][j] ;
   for( i = 0 ; i < hight ; i ++ )
      delete []p3[i] ;
   delete []p3 ;
return 0 ;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。