void sl_insert(int data)
{
node*new_node=(node*) malloc(sizeof(node)); //새로운 노드 생성
node* temp; // 임시 노드 잠시후 사용함 ~!
new_node-> 새로운 노드에 데이타를 대입

 

//처음일 경우
if(head->next==NULL)
{ //head 다음이 널 이라면 처음이다
head->next=new_node; //head가 new_node를 가르키게 하고
new_node->next=NULL;//new_node는 널을 가르키게 한다.
return; //함수를 빠져 나온다.
}
//처음이 아닐경우 아니라면
temp = head -> next; // temp를 head -> next로 초기화 (head로 초기화해도 상관 없지만 쓸데없는 짓~!)
while(temp->next!=NULL)//temp->next가 널일 때까지 옆 노드로 이동~
temp=temp->next;

 

temp->next=new_node;//이동후 삽입~!
new_node->next=NULL;//역시 마지막에 널을 넣어준다.
}

 


이소스에서

 

temp = head -> next; 를

 

 

temp = head; 로 하면 안되는 이유가.....