//一维数组动态申请,c数组大小为: n
int *c=new int[n];//二维数组动态申请,b数组大小为: n*p
int **b=new int*[n];
for(int i=0;i<n;i++)
b[i]=new int[p];//三维数组动态申请, a数组大小为: m*n*p:
int ***a=new int **[m];
for(i=0;i<m;i++)
{
a[i]=new int *[n];
for(j=0;j<n;j++)
a[i][j]=new int [p];
}另外,当不再需要一个动态分配的多维数组时,可按以下步骤释放它所占用的空间。首先释放在for循环中为每一行所分
配的空间。然后释放为行指针分配的空间。//一维空间释放:
delete []c;
c=0; //可在释放空间后将c置为0,以防继续访问已被释放的空间。这句可以不要。//二维空间释放:
for (int i=0;i<n;i++)
delete []b[i];
delete []b;
b=0; //可在释放空间后将b置为0,以防继续访问已被释放的空间。这句可以不要。//三维空间释放:
for (int i=0;i<m;i++)
{
for(j=0;j<n;j++)
delete []a[i][j];
delete []a[i];
}
delete []a;
a=0; //可在释放空间后将a置为0,以防继续访问已被释放的空间。这句可以不要。
————————————————
版权声明:本文为CSDN博主「半段烟y9」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_51159944/article/details/122049890
动态申请数组(c)
最新推荐文章于 2024-03-03 12:29:28 发布