도서정보 입력과 출력을 구조체 포인터배열 선언하고 구조체 변수를 동적으로 할당하는 형태로 만드는 문제입니다..
근데 malloc 에는 free 가 따라와야 정상이잖아여???
근데
Book *info=(Book*)malloc(sizeof(Book)*MAX);
free(info);
를 하면 free의 info 부분이 형식이름을 사용할 수 없습니다 라고 나오네요 ㅜ 왜그럴까요..
#include <stdio.h>
#include <stdlib.h>
#include "BookInfo.h"
#define MAX 3
int main(void)
{
Book *info;
int i;
Book *info=(Book*)malloc(sizeof(Book)*MAX);
printf("도서 정보 입력\n");
for(i=0; i<MAX; i++)
{
fputs("저자 : ", stdout);
gets(info[i].writer);
fputs("제목 : ", stdout);
gets(info[i].title);
fputs("페이지 수 : ", stdout);
scanf_s("%d",&info[i].page);
fflush(stdin);
}
printf("도서 정보 출력 \n");
for(i=0; i<MAX; i++)
{
printf("book %d \n",i+1);
fputs("저자 : ", stdout);
puts(info[i].writer);
fputs("제목 : ", stdout);
puts(info[i].title);
fputs("페이지수 : ", stdout);
printf("%d \n",info[i].page);
}
free(info);
return 0;
}