head, node1, node2 모두 node*형에 대한 포인터임.
node1, node2는 동적할당으로 어떤 주소를 갖고있는 값이고.

여기서head가 node1의 메모리주소를 가지고 있는 상태에서

next = head;를 하면 next도 node1의 메모리주소를 갖게되는 거잖아.

근데, 이후에 head = node2;를 하게되면 head는 node2의 주소를 갖게되는데

이후에서 next는 node1의 주소를 유지하는 이유가 뭐임?

next도 head가 가리키는것을 똑같이 가리켜야 하지않음?