这是我第一次在结构中使用结构。当我编译我的程序时,我遇到了这个错误。错误:字段“results”的类型不完整。
错误指的是此行代码。-->结构result_t结果;
有什么需要帮忙的吗?:)谢谢。
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.resultsi.module_code,student.resultsi.grade,student.resultsi.mc);
发布于 2012-11-06 17:32:49
结果不是数组。您可以使用以下命令更改学生的结构:
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);这取决于一个学生可能有多少个可能的结果。
发布于 2012-11-06 17:17:30
由于您使用的是typedef,因此请使用下面的代码
typedef struct {
char name[31];
result_t results;<---remove struct
} student_t;https://stackoverflow.com/questions/13247853
复制相似问题