링크드 리스트에 관해 질문드립니다.
츠키코
2023.04.01
현재 링크드 리스트로 어떠한 동작을 하는 것을 구현하고 있습니다.다음 아래 소스를 보고 질문드리겠습니다.typedef struct Mt{ 멤버변수; 자기 참조 구조체;};Mt *head,*tail;(중략)Append(tail);(중략)MT* Append(MT *p)
{
printf(\n\t 산이름을 입력하세요:);
fflush(stdin);
gets(p-m);
printf(\n\t 해발높이를 입력하세요:);
scanf(%d,&p-a);p-ptr = (MT*)malloc(sizeof(MT)); //tail다음에 올 노드주소를 할당함p = p-ptr; //기존노드에 새로 생성한 노드의 주소값을 전달
p-ptr = NULL; //새로 생성된 노드 주소를 NULL할당한다.
return p;
}이와 같이 있을 때 노드를 추가 하는 작업입니다.제가 주석을 달고 이해한 부분이맞는지 모르겠네요.이전까지는 head = (MT*)malloc(sizeof(MT));tail = head;head-next = NULL;은 이해가 갔습니다.노드를 생성하는데 왜케 자꾸 헷갈리는지...