标题:请教链表的基础问题
只看楼主
寂寞的天空
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-12-22
 问题点数:0 回复次数:1 
请教链表的基础问题
void print (struct node *head)
{
struct node *temp;
temp=head;
while (temp!=NULL)
{
printf("\n%d----%s\n",temp->num,temp->str);
temp=temp->next;
}
return;
}

就是temp=temp->next; 这里.temp的值是什么?为什么通过这个式子结点就向后挪了一位?能补充讲点就更好了,谢谢,链表这里学得很糊涂...
搜索更多相关主题的帖子: 链表 基础 
2008-01-18 18:57
nobush
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2008-1-10
得分:0 
假設這是原來的鏈表

head→a→b→c→d……

temp 是臨時指針,某一時刻他指向b
       temp
        ↓
head→a→b→c→d……

顯然這時候temp->next 是c
執行temp=temp->next;則:
          temp
          ↓
head→a→b→c→d……

實際上就是原來的鏈表不動,而temp指針跑了一圈實現鏈表的遍歷
2008-01-19 23:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-197942-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.394185 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved