C语言 释放下属


typedef struct A
{
    int* whatever;  
} A;

int main(void)
{
    A* foo = (A)malloc(sizeof(A));
    foo->whatever = (int)malloc(sizeof(int));
    free(A); // leak? (foo->whatever)
    return 0;
}

我是否必须释放结构/复合数据类型的每个组件,或者我可以只释放结构吗?

任何恶意的东西都需要被释放

对于程序中的每个malloc,都必须有一个free。这就是规则,简单明了。

既然你malloc两次,free两次。

相关内容

  • 没有找到相关文章

最新更新