您的位置:首页 > 编程语言 > C语言/C++

c++声明并释放动态二维、三维数组

2010-11-05 15:05 627 查看
int i,j,k;
int nWidth,nHeight,nThird;

cin>>nThird>>nHeight>>nWidth;

//声明动态二维数组
/*int **grayScale = new int * [nHeight];
for (i = 0;i < nHeight;i++)
{
grayScale[i] = new int[nWidth * 3];
}*/
//声明一个三维数组
int ***grayScale = new int ** [nThird];
for (i = 0;i < nThird;i++)
{
grayScale[i] = new int*[nHeight];
for (j = 0;j < nHeight;j++)
{
grayScale[i][j] = new int [nWidth];
}
}

for (k = 0;k < nThird;k++)
{
for (j = 0;j < nHeight;j++)
{
for (i = 0;i < nWidth;i++)
{
grayScale[k][j][i] = 1;
}
}
}

cout<<setw(5);
for (k = 0;k < nThird;k++)
{
for (j = 0;j < nHeight;j++)
{
for (i = 0;i < nWidth;i++)
{
cout<<grayScale[k][j][i]<<setw(5);
}
cout<<endl;
}
cout<<endl;
}

////释放二维数组
//for(i = 0;i < nWidth;i++)
//{
// delete []grayScale[i];
//}
//delete []grayScale;

//释放三维数组
for (j = 0;j < nThird;j++)
{
for (i = 0;i < nHeight;i++)
{
delete []grayScale[j][i];
}
}
delete []grayScale;


简单的程序,一看就懂!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: