typedef struct {
char name [25] ;
char breed [25] ;
int age ;
struct animal *next ;
} animal ;
animal *ptr1 , *ptr2 , *prior ;
ptr1 = (animal*)malloc(sizeof (animal)) ;
strcpy ((*ptr1).name , "General") ;
strcpy ((*ptr1).breed , "Foreign breed") ;
(*ptr1).age = 8 ;
(*ptr1).next = NULL ;
prior =ptr1 ;
printf ("%s\n" , (*prior).name) ;
printf ("%s\n" , (*prior).breed) ;
printf ("%d\n" , (*prior).age) ;
printf ("%p\n" , (*prior).next) ;
free (ptr1) ;
ptr1 = (animal*)malloc(sizeof (animal)) ;
strcpy ((*ptr1).name , "General 1") ;
strcpy ((*ptr1).breed , "Abroad breed") ;
(*ptr1).age = 24 ;
(*ptr1).next = NULL ;
(*prior).next = ptr1 ;
다음은 연결 목록을 그리는 코드입니다. 전체 코드가 실행은 마지막 줄에 오류를 표시 할 때 :링크 된 목록 구문
기능에서'주' 경고 : 기본적으로 사용] 호환되지 않는 포인터 타입
오류가 발생하는 곳을 지적하면 도움이 될 수 있습니다. 컴파일 오류 (즉, 프로그램의 오류가 아니라 컴파일러에서 코드의 일부 문제에 대한 오류)이므로 오류 메시지에 줄 번호가 포함되어 있습니다. 앞으로는 완료되고 편집되지 않은 _all_ 메시지를 게시하십시오. –
이전 줄의 마지막 줄은 이전에 해제 된 메모리 영역을 가리키고 있습니다. 이로 인해 프로그램이 중단 될 수 있습니다. – Jack
'(* ptr1) .next' 대신에''ptr1-> next''를 사용하고 있습니까? –