c++:多维数组的新建(new)和释放(delete)

一维:

int *array1D;
//假定数组长度为m
//动态分配空间
array1D = new int [m];
//释放
delete [] array1D;

二维:

int **array2D;
//假定数组第一维长度为m, 第二维长度为n
//动态分配空间
array2D = new int *[m];
for( int i=0; i<m; i++ )
{
    array2D[i] = new int [n]  ;
}
//释放
for( int i=0; i<m; i++ )
 {
    delete [] arrar2D[i];
 }
delete array2D;

三维:

int ***array3D;
//假定数组第一维为m, 第二维为n, 第三维为h
//动态分配空间
 array3D = new int **[m];
 for( int i=0; i<m; i++ )
{
    array3D[i] = new int *[n];
     for( int j=0; j<n; j++ )
     {
         array3D[i][j] = new int [h];
    }
 }
 //释放
 for( int i=0; i<m; i++ )
 {
    for( int j=0; j<n; j++ )
     {
          delete array3D[i][j];
     }
     delete array3D[i];
 }
 delete array3D;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值