动态二维数组释放问题,请各位批评指正
#include <stdlib.h>
double** testfree()
{
double **t=(double**)malloc(sizeof(double*)*4);
for(int i=0;i<4;i++)
{
*(t+i)=(double*)malloc(sizeof(double*)*3);
}
for(int i=0;i<4;i++)//二维数组赋值
{
for(int j=0;j<3;j++)
{
t[i][j]=i*j;
}
}
return t;
}
int main()
{
double** t1=testfree();
//位置1 :释放二维数组
return 0;
}
//仔细对照看
double** testfree()
{
double **t=(double**)malloc(sizeof(double*)*4);
for(int i=0;i<4;i++)
{
t[i]=(double*)malloc(sizeof(double)*3);
}
for(int i=0;i<4;i++)//二维数组赋值
{
for(int j=0;j<3;j++)
{
t[i][j]=i*j;
}
}
return t;
}
int main()
{
double** t1=testfree();
for (int i=0;i<4;++i)
{
free(t1[i]);
}
free(t1);
//位置1 :释放二维数组
return 0;
}