C语言 如何释放2D结构与2D数组作为属性



我已经定义了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);
}

谁能建议我如何释放分配在这里的内存?

为每个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);
}

相关内容

  • 没有找到相关文章