读书人

c语言的链表太难了!解决思路

发布时间: 2012-03-31 13:13:26 作者: rapoo

c语言的链表太难了!!!
我现在学习c语言,我觉得链表这一块知识实在是太难了,比如说,p1,p2,指针起到什么作用(比如:p1是用来创建链表的指针,那p2指针是干什么使得呢)?我根本想不出来p1,p2指针是怎么在存储单元工作的?还有就是,像一些语句:(建立链表时)head=NULL;(结束时)p2-> next=NULL;有什么用呢?为什么不加他们结果就不对?希望各位高人能帮我指点一下,能推荐一些书籍帮助我理解链表吗?万分感谢!

[解决办法]
c语言中的链表不难,链表和结构体以及指针的关系最为密切。其中关键还是指针。
c语言中经常用的是动态链表,对于链表的操作一般都是创建,查看,修改。
一般方法是在创建一个动态链表的时候都会定义两个结构体指针(p1 p2),
指针p2的作用一般都是用来将新结点(p1)的地址赋值给上一个结点的next成员。如:p2-> next = p1; 这个操作实现了链表中各个结点的关联关系。

(建立链表时)head=NULL;(结束时)p2-> next=NULL;有什么用呢
------------------------------------------------------
head是指针,指针在使用前都必须为之赋值(不然会出乱子),一般都是在定义一个指针变量后为它赋一个NULL值。表示空地址。

p1-> next=NULL;
这条语句是在创建链表的时候经常忘写的。这条语句一般用来将表尾结点的指针变量置NULL。

读书人网 >C语言

热点推荐