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

C++动态分配二维/三维数组

2007-07-23 16:08 671 查看
分配二维数组:
int **ptr=new int*[n1];
for(int i=0;i<n1;i++)
ptr[i]=new int[n2];

二维数组清除:
for(int i=0;i<n1;i++)
delete []ptr[i];
delete []ptr;

动态分配清除三维数组
#include<iostream>
using namespace std;
int main()
{
//system("cp testdouble.c hehe ");
int i,j,k;
int r,s,t;
cout<<"Please Enter the 1st dimension:";
cin>>i;
cout<<"Please Enter the 2nd dimension:";
cin>>j;
cout<<"Please Enter the 3rd dimension:";
cin>>k;
cout<<i<<'/t'<<j<<'/t'<<k<<endl;
int ***p=new int**[i];
for(t=0;t<i;t++)
p[t]=new int*[j];
for(t=0;t<i;t++)
for(s=0;s<j;s++)
p[t][s]=new int[k];
for(r=0;r<i;r++)
for(s=0;s<j;s++)
for(t=0;t<k;t++)
p[r][s][t]=r*j*k+s*k+t;

for(r=0;r<i;r++)
{
cout<<endl;
for(s=0;s<j;s++)
{
cout<<endl;
for(t=0;t<k;t++)
cout<<p[r][s][t]<<'/t';
}
}
cout<<endl;

for(r=0;r<i;r++)
for(s=0;s<j;s++)
delete []p[r][s];
for(r=0;r<i;r++)
delete []p[r];
delete []p;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: