가능한 중복 :
pass by reference not working링크 목록에서 "포인터"와 "포인터 포인터"의 사용에 혼동
내가 스탠포드의 튜토리얼 linklistproblem의 일부를 통과했다 인터넷, 난 자습서의 페이지 5에있는 링크 목록에 "포인터"와 "포인터에 대한 포인터"의 사용을 혼란스러워합니다.
함수 1
changeTonull(&head) //passing by pointer to head pointer of link list
void changeTonull(struct node ** headref) // function defination
{
*headref = NULL;
}
함수 2 : 난 포인터에 대한 포인터를 전달하고 상기 제 함수
changeTonull(head) // passing head pointer of link list
void changeTonull(struct node * headref) // function defination
{
headref = NULL;
}
,
를 NULL로 링크리스트의 헤드 포인터의 값을 변경하기위한
두 번째 함수에서 링크 포인터의 머리 포인터 값을 NULL로 변경하기 위해 포인터 만 전달합니다.
자습서에서 말하는 것은 링크 목록의 헤드 포인터 값을 변경하는 첫 번째 기능을 사용하는 것이 더 낫습니다. 이유가 무엇입니까?
linklistproblem 페이지 번호 5 자습서를 확인할 수도 있습니다.
이 질문은 여러 번 반복되었습니다. 왜 먼저 검색하지 않습니까? –