0
링크 목록 끝에 노드를 추가하고 싶습니다. 그래서 나는 같은 것을위한 방법을 만들었고 예상 된 결과를 얻는다. 그러나 나는이 프로그램이 옳았는지 확실치 않습니다. 프로그램이 정확한지 확인하십시오. 사전에링크 목록의 끝 노드에 요소를 삽입하십시오.
node *insert_end_node(node *nd, int value) {
node *tmp, *p;
tmp = (node *)malloc(sizeof(node *));
tmp->data = value;
tmp->next = NULL;
p = nd;
while (p->next != NULL) {
p = p->next;
}
p->next = tmp;
// nd =tmp;
return nd;
}
감사
포인트 1에 대해서는 목록이 비어 있는지 확인해야한다는 것을 알고 있습니다. 하지만 내 혼란은 p로 지정하고 p가 목록의 기본 addres를 보유하고 있는지 확인하는 것입니다. 끝 노드에 다른 노드를 추가해야하기 때문에 p-> next == null 인 마지막 노드로 이동하십시오. 그래서 내 질문은 코드 아래에 이러한 것입니다 : p-> 다음 = tmp; nd = p; // 혼동 return nd; // 예기치 않은 결과를 얻었습니다 코드는 아래 코드로 제공됩니다 p-> next = tmp; return nd; // 예상 결과를 얻었습니다 nd = p가 필요하지 않은 이유 – user3807640