关于链表中内存的释放
#include <malloc.h>
#include <stdlib.h>
#define ElemType int
typedef struct LNode
{
ElemType data;
LNode *next;
}*LinkList;
//初始化链表
void initialList(LinkList &l)
{
l = (LinkList)malloc(sizeof(LinkList));
if(!l)
exit(1);
l->next = NULL;
}
//删除链表
void deleteList(LinkList &l)
{
LinkList q;
while(l)
{
q = l->next;
free(l);
l = q;
}
}
在主函数中:
int main()
{
LinkList myList;
initialList(myList);
deleteList(myList);
return 0;
}
每次执行到deleteList就会出错,求教了。
相关推荐
C++链表模板 实现(复数的链式存取、排序、动态释放内存)
C++链表模板 实现(复数的链式存取、排序、动态释放内存) 这个是一个简洁明了的程序。 其中链表的排序用了两种冒泡排序方式。
嵌入式软件动态内存检测工具的设计与实现_一个专为嵌入式系统设计的动态内存泄漏与越界访问检测工具_通过插装库重写标准内存管理函数并利用全局链表跟踪所有内存分配与释放操作_结合测试代理.zip
嵌入式软件动态内存检测工具的设计与实现_一个专为嵌入式系统设计的动态内存泄漏与越界访问检测工具_通过插装库重写标准内存管理函数并利用全局链表跟踪所有内存分配与释放操作_结合测试代理.zip
单项链表的建立,插入 ,删除,显示节点信息,释放动态内存.txt
单链表,指针,动态数组
单链表,双链表,循环单链表,循环双链表的(可重复)插入和(可重复)删除
最近在面试过程中总被问到链表的问题,因此这里把自己实现的链表操作上传给大家共享!包括单链表,双链表,循环单链表,循环双链表的(可重复)插入和(可重复)删除的完整实现,由c及Code::Blacks实现.
16种链表的练习
16种链表的练习 1.c 有头 无序 不循环 单向 2.c 有头 有序 不循环 单向 3.c 无头 无序 不循环 单向 4.c 无头 有序 不循环 单向 5.c 有头 无序 循环 单向 6.c 有头 有序 循环 单向 7.c 无头 无序 循环 单向 8.c 无头 有序 循环 单向 9.c 有头 无序 不循环 双向 10.c 有头 有序 不循环 双向 11.c 无头 无序 不循环 双向 12.c 无头 有序 不循环 双向 13.c 有头 无序 循环 双向* 14.c 有头 有序 循环 双向 15.c 无头 无序 循环 双向 16.c 无头 有序 循环 双向 listVerOutput.c 将有头 无序 不循环 单向链表的指针指向逆序并输出。


