我寫學生在C數據庫中,我已經定義了兩個結構和學生的課程,像這樣:結構內的結構?
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 2013-03-19 02:19:10
「數據」和「課程」分別僅包含指向「學生」和「課程」結構的指針,除非您以某種方式指定它們,否則這些指針不會指向有效的結構實例。你做到了嗎? – Praetorian 2013-03-19 02:22:06