malloc与new方法动态创建数组并释放

#include<iostream>
using namespace std;
int main(){
//动态创建释放一维数组(new)
int *a;//基地址
int n=10;//数组大小
a=new int[n];//创建
    delete[] a;//释放
//动态创建释放二维数组(new)
int **b;
int m=10;n=10;
b=new int*[m];
for(int i=0;i<m;i++)
b[i]=new int[n];
for(i=0;i<m;i++)
delete[] b[i];
delete[] b;
//动态创建释放三维数组(new)
int ***c;
i=10;int j=10,k=10;
c=new int**[i];
for(n=0;n<i;n++)
{
c[n]=new int*[j];
for(m=0;m<j;m++)
c[n][m]=new int[k];
}
for(m=0;m<i;m++)
{
for(n=0;n<j;n++)
delete[] c[m][n];
delete[] c[m];
}
delete[] c;

//动态创建释放一维数组(malloc)
int*d;
int z=10;
d=(int*)malloc(z*sizeof(int));
free(d);
//动态创建释放二维数组(malloc)
   int**e;
int y=10;
e=(int**)malloc(z*sizeof(int*));
for(int q=0;q<z;q++)
e[q]=(int*)malloc(y*sizeof(int));
for( q=0;q<z;q++)
free(e[q]);
free(e);
//动态创建释放三维数组(malloc)
int ***r;
r=(int***)malloc(sizeof(int**)*10);
for(q=0;q<10;q++){
r[q]=(int**)malloc(9*sizeof(int*));
for(int p=0;p<9;p++)
r[q][p]=(int*)malloc(8*sizeof(int));
}
for(q=0;q<10;q++){
for(int p=0;p<9;p++)
free(r[q][p]);
free(r[q]);
}
free(r);
return 0;
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值