这是我第一次在结构中使用结构。 编译程序时遇到此错误。 错误:字段'结果'的类型不完整。
错误是指这行代码。 - > struct result_t results;
请帮忙吗? :) 感谢。
typedef struct {
char moduleCode[8];
char grade[3];
} result_t;
typedef struct {
char name[31];
struct result_t results;
} student_t;
编辑:
我改变了我的代码:
typedef struct {
char moduleCode[8];
char grade[3];
} result_t;
typedef struct {
char name[31];
result_t results;
} student_t;
我收到了一个新的编译错误。 错误:下标值既不是数组也不是指针。
触发该错误的代码行如下。 printf(“% - 7s%-2s%d \ n”,student.results [i] .module_code,student.results [i] .grade,student.results [i] .mc);
答案 0 :(得分:6)
结果不是数组。你应该改变结构学生:
typedef struct {
char name[31];
result_t results[MAX_NUM_RESULTS];
} student_t;
或者将printf更改为:
printf(" %-7s %-2s %d\n", student.results.module_code, student.results.grade, student.results.mc);
这取决于一个学生可能有多少可能的结果。
答案 1 :(得分:0)
因为你正在使用typedef使用这个
typedef struct {
char name[31];
result_t results;<---remove struct
} student_t;