열혈강의 도전 프로그래밍 four 도전2 질문요
일본녀
#include stdio.h
struct save{
char title[20];
char writer[20];
int pages;
};
int main()
{
struct save* man[3];
int i;
for(i=0;i3;i++)
{
printf(저자를 입력하세요\n,i+1);
scanf(%s,(*man)[i].title);
printf(제목를 입력하세요\n,i+1);
scanf(%s,(*man)[i].writer);
printf(페이지수를 입력하세요\n,i+1);
scanf(%d,&(*man)[i].pages);
}
for(i=0;i3;i++)
{
printf(book %d\n,i+1);
printf(저자:%s\n,(*man)[i].title);
printf(제목:%s\n,(*man)[i].writer);
printf(페이지수:%d\n,(*man)[i].pages);
}
return 0;
}
왜안될까요.. 그냥 포인트식으로 가르키게만 하면안돼는건가요;;
-
권애교
포인터는 말그대로 주소값만 저장할 수 있습니다....
값을 저장하기 위해선 구조체만큼 동적할당한다음 그곳에 자료를 저장하고 저장한 구조체의 주소를
포인터변수에 저장하면 됩니다 -
승아
man은 save 구조체의 변수를 가리킬수 있는 포인터배열
man[i] 각각은 save 구조체 변수를 가리키는 포인터
포인터에 구조체 변수의 주소가 입력도 안됐는데 접근하니 당연에러
생선된 구조체 변수가 없다는 말이고요
접근하는 방법도 이상하네요
포인터 배열을 구조체 배열처럼 쓸려면 메모리 동적 할당을 하셔야 할듯