实现双向循环链表的初始化
目前已经实现了,但是有一个问题想请教一下关于函数的返回的问题
在我这个while循环里面我用的是LinkList 是typedef的相当于NODE *,
在这里我用malloc函数回到主函数之后L就是初始化成功的头节点了,
但是我想问如果这里我直接用NODE,然后就可以不用malloc了,
如果这样的话回到主函数之后L能否初始化成功?如果不能原因是不是因为返回之后在这个函数里面申请的NODE节点全部释放了?如果能又是为什么呢?希望得到完整回答。
如果你是在while中定义NODE对象,那么肯定不行,因为局部变量在程序运行完while后就被系统回收空间了,外面访问不受控内存,会出问题的
如果不能原因是不是因为返回之后在这个函数里面申请的NODE节点全部释放了====对的。局部变量生命期只在所在代码块中。离开代码块就不能用了。
malloc申请的空间相当于全局的,除非free,否则一直占用,所以满大街都可以用