我是C初学者,我正在编写一个非常简单的链接列表。我想知道是否会有下面的代码中的内存泄漏:内存泄漏C
void removeListEntry(struct tableEntry *symp, struct tableEntry *previous) {
if (symp->next = 0){
symbolList.tail = previous;
previous->next =0;
} else {
previous->next = symp->next;
symp->next = 0;
}
}
我敢肯定,如果指针SYMP没有存储在另一个变量,没有访问该指出由列表条目的方式指针,所以我会有内存泄漏。 在C中,我们使用malloc()函数为数据结构分配内存空间,并且我记得使用new关键字来动态地在C++中分配内存。使用malloc()分配内存和使用new有什么区别?我的代码中确实存在内存泄漏?
symb->未来= 0值总是假的,而不是真实的。 – 2009-11-27 07:49:52
你是对的,我没有想到下一个设置为零后会发生什么。 – 2009-11-27 14:47:49