繁体   English   中英

如何使用2D数组作为属性释放2D结构

[英]How to free 2D struct with 2D array as a attribute

我已经将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);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM