struct film {
char title[45];
int rating;
struct film * next;
};
int main(void)
{
struct film * head = NULL;
struct film * prev, * current, * rear; <---선언해놓고 어디서 사용했는지도 구분이 않됩니다
char input[45];
puts("첫 번째 영화 타이틀을 입력하시오:");
while (gets(input) != NULL && input[0] != '\0')
{
current = (struct film *) malloc(sizeof(struct film));
if (head == NULL) /* 첫 번째 구조체 */
head = current;
else /* 연결된 구조체들 */
prev->next = current; <----구조체변수prev의멤버변수next가 가르키는 곳이 current구조체변수의 주소값을 가르킨다. 여긴 그런데로 그런가보다 라고 생각되는데...
current->next = NULL;
strcpy(current->title, input);
puts("평가를 입력하시오(0점에서 10점까지):");
scanf("%d", ¤t->rating);
while(getchar() != '\n')
continue;
puts("다음 영화 타이틀을 입력하시오(끝내려면 빈 라인):");
prev = current;
}
/* 목록 보여 */
if (head == NULL)
printf("입력된 데이터가 없습니다.\n");
else
printf("영화들의 목록은 다음과 같습니다.\n");
current = head;
while (current != NULL)
{
printf("영화: %s 평가: %d\n", current->title, current->rating);
current = current->next; <----이곳은 구조체변수current 에다 current->next를 넣는다니 도무지 이해가 않됩니다 current->next 가 가르키는 곳을 current 가 가르키는 것인지..current->next 의 주소를 가르키는곳을 current 가 가르키는 것인지 ...뭐가 뭔지
}
current = head;
while (current != NULL)
{
rear = current->next;
free(current);
current = rear;
}
printf("끝\n");
return 0;
}
자세한 주석좀 달아주세요....뭐가 뭔지 도무지 이해가 않됩니다.
|