나는 C 학생의 데이터베이스를 쓰고 있어요 및 I는 다음과 같이 두 구조 학생 및 코스 정의한 : 나는 비록 만들고 학생들을 표시하는 데 문제가구조 내의 구조?
typedef struct student Student;
typedef struct course Course;
struct course
{
char number[300];
char title[300];
char instructor[300];
char days[10];
char start[10];
char end[10];
char location[300];
};
struct student
{
char name[300];
int age;
Course course1;
Course course2;
};
Student *Data[30];
Course *Courses[30];
합니다. 이름, 나이 및 두 과목을 인쇄하고 싶지만 학생 구조를 통해 코스 구성 요소에 액세스하는 데 문제가 있습니다.
나는 이것을 시도했다 : 내가 교육 예로 구조체를 조금 단순화했습니다
printf("course1: %s\t%-40s%-30s\t%s\t%s-%s\t%s\n",
Data[i]->course1.number,
Data[i]->course1.title,
Data[i]->course1.instructor,
Data[i]->course1.days,
Data[i]->course1.start,
Data[i]->course1.end,
Data[i]->course1.location);
그러나 작동하지 않습니다 물론
...
당신이지고 어떤 오류? 디자인의 관점에서 볼 때, 각 학생에게는 코스의 전체 복사본이 있습니다. – John3136
'Data'와'Courses'는 각각'Student'와'Course' 구조체에 대한 포인터만을 가지고 있습니다. 여러분이 그것들을 어떻게 든 지정하지 않는다면,이 포인터들은 유효한 구조체 인스턴스를 가리 키지 않을 것입니다. 그거 했니? – Praetorian