c - free() 不释放内存?

标签 c memory-management free

free(str);
printf("%d\n", str->listeners);

对 printf 的调用成功(对 str 成员的任何其他调用也是如此)。这怎么可能?

最佳答案

给你打个比方:假设你租了一间公寓(那是内存),你终止了租约但保留了 key 的副本(那是指针)。如果公寓没有被拆除,如果锁没有换过等等,您可能稍后可以回到公寓,如果您立即这样做,您可能 按照您离开时的方式查找内容。但这是一个非常糟糕的主意,在可能的情况下,您会让自己陷入一大堆麻烦中...​​...

关于c - free() 不释放内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10473116/

相关文章:

c - 在链表中使用 free() 的 Valgrind 错误

c - free() 无效指针 - 释放指针数组失败

c - Scanf矩阵在c中不起作用?

c - 访问结构成员时返回字节,打印结构变量地址时发生段错误

ios - 防止iOS泄漏mmap上的内存(也是:mach_vm_map)

c - C中的GetTotalMemory分配

c - scanf 之后 fgets 不起作用

c - 树 - 连接的无环图 - 表示

c - 使用 scanf 从控制台读取无限行

c - 释放通过 malloc 获得的结构数组