仅通过移动指针从链接列表中删除元素。在链表中的元素不再连接到列表后,是否会自由删除内存?
答案 0 :(得分:2)
免费将释放你指出的任何内容。魔法没有任何事情发生。你必须在未链接的元素上免费打电话
您希望(不再使用时自动释放内存)由引用计数指针(如c ++中的shared_ptr)或垃圾收集(在C#,Java,javascript等中)提供
答案 1 :(得分:1)
除非您明确释放它。 free
接收指针并将该内存标记为可供将来使用。
您必须释放该链接列表元素使用的内存,然后移动指针。如果在释放之前丢失了指向该元素的所有指针,那么就无法释放它,从而造成内存泄漏。
答案 2 :(得分:0)
我认为“将释放内存......”指的是free()
函数。是的,free()
函数将释放由单 malloc()
,calloc()
或realloc()
调用分配的所有内存。
在致电free()
之前,请确保您已完全取消关联该条目。在调用free()之后对内存(读或写)的任何使用都是未定义的行为。