关于链表赋值给另一个链表中指针赋值的问题。

第一段函数运行正确插入后为1 2 4 3;
改为第二段代码运行,结果为2 3 4
问题来了,注意我标出的地方p=(*L);第一段函数我用p做链表赋值给另一个链表元素操作第二段全替换为(*L)链表賦值给另一个链表元素操作。为什么结果却不同了如果p是(*L)的指针,结果应该相同;如果(*L)只是给p赋值的话那么showlist()函数应该显示(*L)原链表赋值給另一个链表而不是修改过的p链表赋值给另一个链表?
我想问题主要是我对p=(*L);的理解不够吧

首先说点题外话吧从第一次用CU箌现在已经两年多了,但是原创博文仅仅两篇原因是我将博文都投入到CSDN上去了。我有罪现在我迷途知返,我一定用心写出好文章 ============================================= 各位看官,先上源代码



以上这段代码节选自某类主要做两件事,定义了一个结构体和实现了尾插法创建函数的功能这些你都可以忽略。偅点看我高亮的三行代码即可

第十行和十一行,与第九行只是写法不一样我们先声明变量*prev,再对其初始化注意第十一行中,变量prev2前沒有了*

我个人还是推荐第9行的写法,清晰明了不易出错

参考资料

 

随机推荐