//Q1: does it mean that it terminates?
exit(1);
예, 프로그램은
실패로 해석되는
1로 종료됩니다 .
// Q2: don't understand this line..
after = find_Client(new_entry->last_name, *head);
여기서,
after
A와 포인터이다
struct new_Client
. 이 기능은
find_Client
사용 검색된 클라이언트에 대한 포인터를 반환
new_entry->last_name
하고,
head
(가) 어딘가 시작, 시작이 검색주기 위해 전달됩니다.
// Q3: for adding the first item (when the head is NULL) --> why is this condition necessary
if (NULL == *head)
목록에 요소가 하나만있는 경우 단독으로, 즉
next
요소 가 없기 때문 입니다. 그러나 목록 크기가 1보다 크면
새 노드
의
next
요소가 헤드를 가리키고이
새 노드
가 새 노드 가됩니다
head
. 즉,
새 노드
의
next
요소는
head
바로 앞 의 마지막 요소 의 값을 갖 습니다. 이것이 이러한 구분이 필요한 이유입니다.
출처
https://stackoverflow.com/questions/22079782