易截截图软件、单文件、免安装、纯绿色、仅160KB

C链表问题

我建了一个带头指针的链表
头指针L 那么我想删除链表
free(l);是删除了头结点 还是连它的下面的结点也一起删了?
free(l)后 还用全删一便吗?(从内存的角度 不是从查找的角度考虑)
删头节点
回答完毕

要看你的链表是怎么创建的。

删头节点

链表节点都是一个一个new出来的。所以你的一个一个的删除,也可以做一个函数,删除整个链表。

删头结点啊

一般来说:
从一个链表中删除某个节点的操作,并不是从内存中将此节点删除,而是将它从链表中分离,撤销它与原来链表的链接关系,并且不破坏链接的顺序,还有就是在编写程序中,如果被删除的节点不再使用,一定要用free函数将其释放



除非你是链表的数组表示,整块空间是一次性malloc的,才能象你说的那样全删

删头结点

从表尾向表头,一个一个删除,最后把头接点喀嚓。
free(l);只删除头接点,表面上看链表是没了,但结果是余下的结点依然在内存中,而且无法访问了

释放的是头结点的内存,需要一个一个结点释放内存


相关问答:

两个C文件的问题

以前在VC里面建一个工程,都只用一个 .c 文件,昨天在一个工程里用了两个 .c文件了,遇到问题了,请大家指点。比如:
File1.c Fil ......

为什么C写DLL文件C、PB能调用VB不能调用

为什么C写的DLL文件C、PB能调用VB不能调用?
VB里为什么有的DLL直接通过引用可以使用?有的需要通过declare申明外部函数?这些DLL有什么差别?

1、为什么PB能通过DECLARE声明而VB不行?
2、如果这个dll中的 ......

C\C++如何计算函数的导数

C\C++如何计算函数的导数,本人新手,想写个程序,但是不知道如何下手,还望高手指点一二,谢过。
这个……

跟函数的具体形式有关吧,难道你想编出个“万能”的求导函数?

俺上学时想过自动推导公式,后来 ......

c小问题

C/C++ code:

command.h
/* DEFUN for vty command interafce. Little bit hacky ;-). */
#define DEFUN(funcname, cmdname, cmdstr, helpstr) \
int funcname (struct cmd_element *, struct vty *, int, c ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号