작성자 | 개념의극한 | ||
---|---|---|---|
작성일 | 2012-03-22 22:34:11 KST | 조회 | 299 |
제목 |
프로그래밍 질문
|
void withdraw_stack(char i[10]){
char counter[10];
stackp current = top[1];
stackp previous = NULL;
if(strcmp(current->data.name , i) == 0){ //top 이 withdraw에 해당할때
top[1] = current->link;
free(current);
return;
}
while(current)
{
if(strcmp(current->data.name , i) == 0){ //withdraw에 해당하는 node 찾기
previous->link = current->link;
free(current);
}
previous = current;
current = current->link;
}
top[1] = previous;
printstack(1);
}
stack 구조에서 node들의 link 를 따라가다가 해당되는 놈 찾으면 그놈 메모리에서 지우고 그 전놈과 다음놈을 연결시키는 함수인데
지금 가장 중요한 해당되는 놈을 확인하는 strcmp 문 (빨간거)이 작동을 안함;
문법 오류는 아닌디 실행 도중에 무슨
Unhandled exception at 0x58c5d49c (msvcr100d.dll) in HW2.exe: 0xC0000005: Access violation reading location 0xfeeefeee.
으로 뜨는;
이거 왜그런지 잘 모르겠어서 미치겠음요... 뭘 잘못 건드린건지 current의 포인터 링크가 잘못된건지
참고: top[1]은 1번 stack 구조의 top node 를 지칭
아 미치겠네
© PlayXP Inc. All Rights Reserved.