C에서 링크 된 목록을 생성하기 시작했습니다. returnLastNode의 코드에서 런타임 오류가 발생했습니다. 내가 어떻게 알아? 댓글을 달았을 때 잘 돌아갑니다.링크 된 목록의 문제점
질문 1 내가 뭘 잘못하고 있니? 내 returnLastNode
기능
코드 사용 struct
의의
struct Node* returnLastNode(struct LinkedList *ll) {
struct Node *n = ll->first;
struct Node *result;
while(1) {
if(n->next == NULL) {
result = n;
break;
} else {
n = n->next;
}
}
return result;
}
정의.
struct Node {
int val;
struct Node *next;
};
struct LinkedList {
struct Node *first;
};
LinkedList.h
여기, 필요한 경우/관심이있는 경우.
https://github.com/MoonStruckHorrors/LinkedListC/blob/master/LinkedList.h
초보자가 런타임 오류를 디버깅하는 방법을 질문 # 2?
또한 다른 의견도 환영합니다. :)
팁 주셔서 감사합니다. 내 삽입 함수 (링크 된 목록이 비어 있지 않은 경우에만'returnLastNode' 사용)에서 빈 목록을 확인했습니다. 하지만 거기서 빈 목록을 검사했지만, '첫 번째'노드를 초기화하는 것을 잊어 버렸기 때문에 NULL에서 작동합니다. – MoonStruckHorrors