我已将struct定义为
struct global_data
{
double el[6][6];
}**C;
并将内存分配为
C = (struct global_data **) malloc(20*sizeof(struct global_data *));
for(i=0;i<=20;i++)
{
C[i]=(struct global_data *) malloc(sizeof(struct global_data)*20);
}
有人可以建议我如何释放这里分配的内存吗?
答案 0 :(得分:1)
为您制作的每个malloc调用free()
for(int i=0;i<20;i++)
{
free( C[i] ) ;
}
free( C ) ;
你的for循环也不正确,你做了21次迭代而不是20次,应该是:
for(i=0;i<20;i++)
{
C[i]=(struct global_data *) malloc(sizeof(struct global_data)*20);
}