当前位置:编程学习 > VC++ >>

vc++ 三维动态数组的创建与释放

做韬哥的动态匀场程序时创建的三维动态数组:
 


//构建3维矩阵 
double*** data3d;//k是最外层(Z),i次外层(y),j是内层(x) 
data3d =new double**[volume_depth];  
for(int k=0; k<volume_depth; k++)  
{  
    data3d[k] = new double*[volume_height]; 
    for   (int i=0; i <volume_height; i++)  
        data3d[k][i] = new double[volume_width]; 
}  

给矩阵附初值:


//给三维矩阵赋值 
for (int k=0; k<volume_depth; k++) 

    for (int i=0; i<volume_height; i++) 
    { 
        for (int j=0; j<volume_width;j++) 
        { 
            data3d[k][i][j]=0; 
            data3d1[k][i][j]=0; 
        } 
    } 

 

www.zzzyk.com
三维动态数组的空间释放(由内向外):


for(int k=0; k<volume_depth; ++k)  
{  
 for   (int i=0; i <volume_height;++i)  
 { 
  free(data3d[k][i]); 
 } 
 free(data3d[k]); 
}  
free(data3d); 

三维矩阵是按照列顺序存储,先存第一层k=0中的第一列i=0的每个元素j。

摘自 myj0513的专栏
 

补充:软件开发 , Vc ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,