lunix内核单项链表 遍历节点问题 代码如下说明:list 指向链表头结点的指针域,把list传进来,pos是想遍历节点的个数,如果我的链表只有一个节点,所以pos=1,第一次for循环就为假,不执行循环体,是吗?然后node = current->next; current->next的值是NULL吗?如果是这样的话,我有一个节点,传1进来,返回值怎么是NULL?代码是老师给的,不知道是代码有问题还是我理解的不对,请大神指教,感激不尽。
LinkListNode* LinkList_Get(LinkListNode * list, int pos)
{
int i = 0, len = 0;
LinkListNode *current = NULL;
LinkListNode *node = NULL;
len = LinkList_Length(list);
if (list == NULL || pos <0 ||pos>=len)
{
return NULL;
}
//准备环境让辅助指针变量 指向链表头节点
current = list;
for (i=0; i<pos &&(current->next!=NULL); i++)
{
current = current->next;
}
node = current->next;
return node;
}
LinkListNode* LinkList_Get(LinkListNode * list, int pos)
{
int i = 0, len = 0;
LinkListNode *current = NULL;
LinkListNode *node = NULL;
len = LinkList_Length(list);
if (list == NULL || pos <0 ||pos>=len)
{
return NULL;
}
//准备环境让辅助指针变量 指向链表头节点
current = list;
for (i=0; i<pos &&(current->next!=NULL); i++)
{
current = current->next;
}
node = current->next;
return node;
}