다른건 거의 이해가 됐는데, head_delete부분이 잘 이해가 안가요 ㅠㅠ

NODE *delete_node=0;
        delete_node=(NODE*)malloc(sizeof(NODE));

        if(!*top_ptr)
                return 0;

        delete_node=*top_ptr;
        *i_data=delete_node->data;            //질문
        *top_ptr=delete_node->link;
        free(delete_node);

*i_data에다가 delete_node의 데이터를 집어넣는데, 이걸 왜 하는지 모르겠네요.

어차피 지울 노드인데 하지 않고 지워버려도 되지 않나요?? 노드는 지워지는데, data는 남아서 그런 건가요??

자료구조 들어오니깐 신세계네요 ㅠㅠ 그동안 배웠던 문법으로 이런 걸 만들수가 있다니...... 머리좋은 사람들 참 많네요
<PRE style="FONT-FAMILY: DotumChe; BACKGROUND: white; COLOR: black; FONT-SIZE: 13px">        






</PRE>