choyj1127   1년 전

양방향 연결리스트로 덱 구현했으나 구현 자체가 틀린 것 같습니다ㅜ

비주얼스튜디오로 계속 오류가 나는데 원인 설명해주실 수 있을까요? 부탁드리겠습니다..

우선은 150번째줄에 search_fromTail(&list, num); 부분에서 오류가 나는것 같은데 원인을 잘 모르겠습니다..

bamgoesn   1년 전

모든 코드를 읽어보진 않았고, ListInit, Count, inputHead, 그리고 첫 번째 예제에 대해 Segfault가 발생하는 위치인 search_fromTail 함수의 123행만 읽어봤습니다.

ListInit에서 p->cur를 초기화하지 않았기 때문에 p->cur가 올바른 위치를 가리키고 있지 않을 수 있습니다. 이때문에 123행에서 p->cur의 data 필드에 접근하는 과정에서 Segfault가 발생할 수 있어 보입니다.

추가로 코드 안에서 반복적으로 data != NULL과 같이 정수형 값을 NULL과 비교하는 게 보이는데, 정수는 어차피 널인 경우가 없습니다. 정수를 널과 비교하는 게 아니라, 포인터를 정수와 비교해야죠. 예를 들어 34행에서 만약 의도하신 게 동적할당이 실패하는 경우를 처리하는 거였다면 newNode != NULL을 하는 게 맞겠죠.

123행도 마찬가지입니다. Segfault 자체의 원인은 모종의 이유로 여기에서 p->cur이 NULL인데 여기에서 data로 접근하려고 한 것이지만, 애초에 p->cur->data는 int형 변수인데 NULL이랑 비교하는 게 이상합니다.

댓글을 작성하려면 로그인해야 합니다.