나는 포럼 전체에서 검색 한 결과 많은 사람들이 같은 문제를 겪고 있음을 알았지 만 해결할 수는 없습니다. 내가 점점 계속은 : 추적 코드에 오류 "조건부 점프 또는 이동은 초기화되지 않은 값 (들)에 따라 달라집니다"valgrind 조건부 점프 또는 이동 오류
이void printStack(stack S)
{
node current;
current = (node)S->last;
while(current != NULL)
{
S->labelFunc(current->value);
current = current->prev;
}
//free(current);
}
printStack 함수가 스택을 받고 (스택의 요소를 인쇄하는 스택 때문에 char * s 인 ADT입니다. 몇 가지 이상한 이유로 내가 while 회선에서 오류를 계속, 현재 노드에 대한 장소를 mallocing했는데, 나는 그것의 prev 및 다음 포인터를 initialised 시도, 내가 스택을 가지고 있는지 확인했지만 null의 모든 그건 헛된 ...
labelFunc는 각 문자 *를 인쇄하는 인쇄 기능입니다.
감사
'S-> last'를'node'로 캐스팅 할 필요가 없습니다. 어쨌든,'node'는'typedef'ed 포인터 타입으로 보입니다. 보통 C의 문맥에서 이것은 눈살을 찌푸리게됩니다. –