6.0에서는 잘되던 프로그램이 2008에서는 잘안된답니다. 한번 아시는분 댓글부탁드립니다.
후유
비쥬얼스튜디오 6.0에서는 잘되는게 2008에서는 왜안될까요?질문 요약 :메인함수에서 Identifier와 Number로 이루어진 링크드리스트의
헤드를 매개변수로 아래의 함수에게 넘겨주면
아래의 함수에서는 아이디(Nid)로만 되어있는 노드들의 링크드리스트를만들어
그 List의 첫노드를 리턴해주는 함수입니다.
비쥬얼스튜디오 6.0에서는 잘되는데
2008에서는 안되네요
malloc부분에서 프로그램이 죽습니다.
이유를 알고 싶습니다.질문 내용 :
PTR_Node idListR(PTR_Node head){ if(head == NULL){ //head노드리스트의 마지막 도달시
printf(NULL\n);
return NULL; //NULL리턴.
}
if(head-tag == Nid){ //id인경우.
PTR_Node node;
node = (PTR_Node)malloc(sizeof(PTR_Node)); //노드할당
//값세팅
node-item = head-item;
node-tag = head-tag;
head = head-next; //헤드 다음으로 이동.
node-next = idListR(head); //재귀호출.
return node;
}
else{// 인티져, 괄호 인경우.
return idListR(head-next);
}
}
-
찬놀
int *p = (int *)malloc(sizeof(int)); // int *가 아닌 int의 크기
node = (PTR_Node)malloc(sizeof(Node)); // 위의 예처럼, 포인터(PTR_Node)말고 타입(Node) 크기로 해 보세요