C链表问题
我建了一个带头指针的链表
头指针L 那么我想删除链表
free(l);是删除了头结点 还是连它的下面的结点也一起删了?
free(l)后 还用全删一便吗?(从内存的角度 不是从查找的角度考虑)
删头节点
回答完毕
要看你的链表是怎么创建的。
删头节点
链表节点都是一个一个new出来的。所以你的一个一个的删除,也可以做一个函数,删除整个链表。
删头结点啊
一般来说:
从一个链表中删除某个节点的操作,并不是从内存中将此节点删除,而是将它从链表中分离,撤销它与原来链表的链接关系,并且不破坏链接的顺序,还有就是在编写程序中,如果被删除的节点不再使用,一定要用free函数将其释放
除非你是链表的数组表示,整块空间是一次性malloc的,才能象你说的那样全删
删头结点
从表尾向表头,一个一个删除,最后把头接点喀嚓。
free(l);只删除头接点,表面上看链表是没了,但结果是余下的结点依然在内存中,而且无法访问了
释放的是头结点的内存,需要一个一个结点释放内存
相关问答:
13个人围成一圈,从第一个人开始顺序报号1,2,3。凡报到3者退出圈子,找出最后留在圈子中的人原来的序号
结果应该是13 可我的程序的结果是11 希望好心人帮改一下
#include <stdio.h>
#include < ......
以前在VC里面建一个工程,都只用一个 .c 文件,昨天在一个工程里用了两个 .c文件了,遇到问题了,请大家指点。比如:
File1.c Fil ......
编译普通的c没问题啊,但编译javah生成的就报错:
gcc -O0 -g3 -Wall -c -fmessage-length=0 -oHelloWorld.o ..\HelloWorld.c
gcc -otest.exe HelloWorld.o
d:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../. ......
为什么C写的DLL文件C、PB能调用VB不能调用?
VB里为什么有的DLL直接通过引用可以使用?有的需要通过declare申明外部函数?这些DLL有什么差别?
1、为什么PB能通过DECLARE声明而VB不行?
2、如果这个dll中的 ......
想知道每条指令或函数的系统消耗。比如系统执行int a=0;的开销是多少。有没有类似的文档之类的。不要和我说用什么clock()函数来测试。我想要相关总结好的文档
先反汇编,然后拿着cpu的指令手册查每条指令的时间周期 ......