struct ll {
int num;
struct ll *next;
};
struct ll *head;
main() {
/* code to assign head pointer some memory */
print(head->next);
}
我读到上面代码中的print()
函数将指针移动到下一个项目。如何将头指针移动到下一个项目?
答案 0 :(得分:2)
print()
必须如下所示:
print(struct ll *foo) {
// code
head = head->next;
// other code
}
请注意,这不是很好的代码,但是这就是head
指向下一个项目的方式。
答案 1 :(得分:1)
您的head
指针是全局的,您只需在遍历列表时不想更改它。这将遍历列表并打印每个num
字段。
void print(struct ll *node) {
while (node) {
printf("%d\n", node->num);
node = node->next;
}
}
main() {
/* code to assign head pointer some memory */
print(head);
}