Page 356 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 356

[표 9-1]  함수를 실행한 후의 선택 노드(crnt) 값
                    함수               함수를 실행한 후 선택 노드(crnt)가 가리키는 노드
                    Initialize       NULL

                    Search           검색에 성공하면 검색한 노드, 검색에 실패하면 업데이트하지 않음
                    InsertFront      삽입한 머리 노드

                    InsertRear       삽입한 꼬리 노드
                    RemoveFront      삭제한 후 머리 노드, 리스트가 비어 있다면 NULL
                    RemoveRear       삭제한 후 꼬리 노드, 리스트가 비어 있다면 NULL

                    RemoveCurrent    삭제한 노드의 앞쪽 노드, 리스트가 비어 있다면 NULL
                    Clear            NULL
                    PrintCurrent     업데이트하지 않음

                    PrintLnCurrent   업데이트하지 않음
                    Print            업데이트하지 않음
                    Terminate        NULL




                       보충수업 9-1   자기 참조 구조체와 typedef 선언

                   노드형 구조체 Node의 선언에 대해 좀 더 살펴보겠습니다.


                     /*--- 노드 ---*/
                     typedef struct __node {
                       Member data;          /* 데이터 */
                       struct __node *next;    /* 다음 노드를 가리키는 포인터 */
                     } Node;


                   구조체 Node는 자기 참조형이고 멤버 next는 struct __node형 객체를 가리키는 포인터입니다.
                   자기 참조라는 말에 속아 멤버 next가 ‘자기 자신을 가리키는 포인터’라고 잘못 생각할 수도 있습니
                   다. 하지만 여기서 말하는 ‘자기 참조 구조체’란 ‘자기 자신과 같은 자료형의 객체를 가리키는 포인터

                   (struct __node)를 멤버로 가지고 있다’라는 뜻입니다. 그림 9C-1의  a 처럼 포인터 next가 자기 자신
                   을 가리키는 경우와는 다르게  b 는 자기 자신과 같은 자료형을 가진 다른 객체를 가리키는 경우도 있
                   기 때문입니다.









                   356   C 알고리즘
   351   352   353   354   355   356   357   358   359   360   361