请问下面代码中for (p = q->next; p != NULL; p = p->next)是什么意思

typedef struct ufd
{
fileTable *file;
ufd *next;
}UFD;
typedef struct mfd

{
char userName[10];
char password[10];
UFD *user;
}MFD;
MFD userTable[MaxUser];
a(){
UFD *p, *q;
q = userTable[userID].user;
for (p = q->next; p != NULL; p = p->next)
}

p = q->next:初始化p指针指向q的下一个节点
p = p->next:每次循环后p指针指向自己的下一个节点
p != NULL:p!=null的时候执行循环p==null退出循环
所以整个循环的意思就是遍历q的下一个节点开始的所有节点
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-04-25
这是遍历以q指向(有附加头结点)的单向链表的一个循环。
相似回答