【发布时间】:2017-06-13 12:31:36
【问题描述】:
看看这段代码,它是链表的一部分。
int main()
{
List* head1 = NULL;
insertFront(&head1, 1);
insertFront(&head1, 2);
print(head1);
free(head1);
return 0;
}
另一个功能是:
void insertFront(List** head, int value)
{
List* node = (List*)malloc(sizeof(List));
node->data = value;
node->next = NULL;
node->next = *head;
*head = node;
//free(node); essentially I am not freeing node
}
我的问题是:
我的代码会导致内存泄漏问题吗?
我是否需要(动态)为节点(函数内部)释放分配的内存?
如果我释放 head1,分配给节点的内存是否也会被释放?如果是,那么如何?
【问题讨论】:
-
malloc前面不需要演员表 -
@EdHeal 是的,谢谢我已经阅读了stackoverflow.com/questions/605845/…
标签: c memory-leaks dynamic-memory-allocation