prev에 0을 넣는 이유는 무엇일까?

By | 2006/12/28

Code Reading‘으로 공부하다가 생긴 의문입니다.

책 167쪽에 보면 연습문제 4.21이 있습니다.

이중연결목록(doubly linked list)를 제거하는

함수의 작동을 설명하는 문제입니다.

대체적으로 이해가 되었으나

마지막 구문이 이해가 되지 않습니다.

 

해당 문제의 함수는 _remque함수입니다.

여기서 마지막에 제거해야할 노드의 prev를 0으로 하고 있습니다.

아마 NULL을 표시하기 위한 것으로 생각됩니다.

그렇지만 왜 굳이 저 일을 해야 하는지가 이해되지 않습니다.

제거하기 위해서라고는 하지만,

이미 해당 노드의 앞과 뒤의 노드들을 연결한 상태이기에

굳이 저렇게 하지 않아도 될 듯 싶고,

만약 해야한다면 왜 elem의 q_next는 손을 대지 않았는지 궁금합니다.

코드 전체를 읽어보려고 해도 엄두가 나지 않네요.

 

일단 해당 함수가 있는 소스를 올리겠습니다.

stubs.c

고수 분의 답변이나 아니면 제가 나중에 답을 알게 되면

수정하여 글을 적겠습니다.

2 thoughts on “prev에 0을 넣는 이유는 무엇일까?

  1. NoSyu

    /MaseR/
    KLDP에서 bushi씨께서 답변해주신것처럼 전체 소스를 봐야 할 듯 싶네요.
    골이 조금 아파옵니다.^^

    Reply

Leave a Reply