단순연결리스트 삭제 질문

void DeleteNode(Node* pPrev)
{
Node* pDelNode = pPrev-pNext;

pPrev-pNext = pDelNode-pNext;

if(pDelNode-pNext != NULL)
{
free(pDelNode);
DeleteNode(pDelNode-pNext);
}
}

입력한 사람 수에 따라 데이터를 입력, 모두 출력, 모두 삭제하는 프로그램인데요.

여기서 말이죠.

굵은 글씨 부분이 재귀호출인데요.

저렇게 하면 일단 실행 중에 에러가 뜹니다.

두 코드의 순서를 바꿔도 말이죠.

한 명씩 따로따로 말고 전체 사람의 데이터를 삭제하고 싶은데

어떤 순서로 코드를 재배열해서 해야 할까요?

댓글 1

  • 타우러스 2026.09.13

    pDelNode 를 free로 풀어줬는데 다시쓰는건 뭥미

C언어 다른 글

목록