구조체 배열 동적메모리할당 에러
첫빛
열혈강의C로 열심히 공부하고 있는 학생입니다
지금 도전 프로그래밍 FOUR를 진행중인데 발생하는 에러의 원인을
찾지못해서 여기에 글을 남깁니다 도움좀 부탁드려요~~ ㅠㅠ
아래는 제가 작성한 소스코드입니다
#include stdio.h
#include stdlib.h
#define MAX 3
typedef struct books
{
char name[10];
char subject[20];
int page;
}Books;
int main()
{
Books *p[MAX];
int i;
for(i=0;iMAX;i++)
{
p[i]=(Books*)malloc(sizeof(Books));
if(p[i]==NULL)
{
printf(메모리 할당 실패 \n);
return 1;
}
}
printf(도서 정보 입력\n);
for(i=0;iMAX;i++)
{
printf(저자 : );
scanf(%s,p[i]-name);
printf(제목 : );
scanf(%s,p[i]-subject);
printf(페이지 수 : );
scanf(%d,&p[i]-page);
}
printf(도서 정보 출력\n);
for(i=0;iMAX;i++)
{
printf(저자 : %s\n,p[i]-name);
printf(제목 : %s\n,p[i]-subject);
printf(페이지 수 : %d\n,p[i]-page);
}
free(p);
return 0;
}
도서관리 구조체(저자,제목,페이지수)를 선언하고 구조체 포인터 배열을 선언해서
동적으로 할당받는 프로그램을 구성해볼려고 하는데요 컴파일시에는 별 문제가 없는데
프로그램을 실행하고 나면 debug assertion failed 라고 뜨닙다 어디서 문제가 발생한 걸까요ㅠㅠ