C指向下一个元素(列表)

时间:2016-11-29 18:17:16

标签: c

我的结构

struct Unit {
  int number;
  struct Unit *next;
};


int main(void) {
  struct Unit *head = build(5); /* Suppose that I have list of 5 units pointing to next one. Function build return the list */
  fn(head);
  printf("%d", head->number);
}

是否可以移动到函数内的下一个元素,比如这个?

void fn(struct Unit *head) {
  head = head->next;
}

在函数调用之后,我仍然有指向第一个元素的指针。

1 个答案:

答案 0 :(得分:1)

是的,那很好(虽然参数名head变得有点误导)。如您所述,在函数内部以这种方式迭代不会影响函数调用之外的head指针。