이것이 자료구조와 알고리즘이다 책 보고 있는데


Node* list = NULL;


void sll_insertNewHead(Node** head, Node* newHead){


    if(head == NULL){

        (*head) = newHead;

    } else{

        newHead->nextNode = (*head);

        (*head) = newHead;

    }

}


sll_insertNewHead(&list, newNode);


이런 코드가 있는데

sll_insertNewHead에서 

if (head == NULL ) { ... } 


이 부분이 말이 안된다고 생각하는데 설명 좀 해줄 수 있냐?


즉 head가 아무것도 가르키고 있지 않다라는 말이라서 

sll_insertNewHead(NULL, newNode);

사실상 위와 같은 말 아님?


근데 해당 절을보면 (*head) = newHead로 

아무것도 가르키고 있지 않은 메모리공간을 참조해서 거기 newHead를 넣잖아

잘못된거 아니냐?


내 생각에는

if( *head == NULL ) { ... } 

이렇게 되어야 할꺼같은데.