struct st
{
int icent;
double dcent;
};
void main()
{
int v1=4,v2=4,v3=4;
int i,j,k;
struct st ****p=new struct st***[v1];
for(i=0;i<v1;i++)
{
p[i]=new st**[v2]; //这里应该是你不慎输入错了吧
for(j=0;j<v2;j++)
{
p[i][j]=new st*[v3]; //这里也是,同上
for(k=0;k<v3;k++)
{
p[i][j][k]=new st; //这里再用你原来的代码的话,可就是申请四维数组了^_^
}
}
}
for(i=0;i<v1;i++)
for(j=0;j<v2;j++)
for(k=0;k<v3;k++)
p[i][j][k]->icent=i*j*k;
for(i=0;i<v1;i++)
{
for(j=0;j<v2;j++)
{
for(k=0;k<v3;k++)
delete [] p[i][j][k];
}
//delete [] p[i][j]; //这里是你的程序崩溃的根源,不用再画蛇添足了
}
delete []p;
p=NULL;
}
{
int icent;
double dcent;
};
void main()
{
int v1=4,v2=4,v3=4;
int i,j,k;
struct st ****p=new struct st***[v1];
for(i=0;i<v1;i++)
{
p[i]=new st**[v2]; //这里应该是你不慎输入错了吧
for(j=0;j<v2;j++)
{
p[i][j]=new st*[v3]; //这里也是,同上
for(k=0;k<v3;k++)
{
p[i][j][k]=new st; //这里再用你原来的代码的话,可就是申请四维数组了^_^
}
}
}
for(i=0;i<v1;i++)
for(j=0;j<v2;j++)
for(k=0;k<v3;k++)
p[i][j][k]->icent=i*j*k;
for(i=0;i<v1;i++)
{
for(j=0;j<v2;j++)
{
for(k=0;k<v3;k++)
delete [] p[i][j][k];
}
//delete [] p[i][j]; //这里是你的程序崩溃的根源,不用再画蛇添足了
}
delete []p;
p=NULL;
}