74.6 특정노드 삭제
, Ahn Yeheon님이 작성현재 2회차 공부중인데 1회차 때 74.6 문제를 온전히 이해하지 못한 채 그냥 넘어간것 같습니다.
if (curr->data == data)
{
prev->next = curr->next;
free(curr);
return;
}
다 이해가 됐는데 마지막에 return;이 이해가 가지 않습니다.
return을 빼봤더니 에러가 뜨긴하는데, 무슨 원리로 뜨는건지 헷갈립니다. 왜 return;을 넣는건지 알려주세요 ㅠ 그리고 보통 어느 상황에서 return;을 쓰는지도 알고 싶습니다.
회신: 74.6 특정노드 삭제
, 도장_ 관리자님이 작성노드가
A->B->C->D
이렇게 연결되어 있을 때
C를 삭제한다면
노드를 탐색하면서
원하는 노드를 발견하면
노드를 연결하고
삭제하고
함수를 종료한다
다음 노드를 탐색하기 위한 작업을 한다
함수를 종료한다 = return입니다.
노드를 삭제한 상태에서 함수를 종료하지 않으면
다음 노드로 연결하는 작업을 할 수 없습니다.
즉, 메모리 접근 오류가 발생합니다.