我的结构
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;
}
在函数调用之后,我仍然有指向第一个元素的指针。
答案 0 :(得分:1)
是的,那很好(虽然参数名head
变得有点误导)。如您所述,在函数内部以这种方式迭代不会影响函数调用之外的head
指针。