我一直在做读数据和创建特定结构的任务。 在一个结构(其中包含另一个结构)eclipse显示“字段'诞生'具有不完整类型”。 我通过网络搜索,但看起来有一些特定的错误。 (这是代码的缩短版本)
typedef struct{
int birthday_day;
int birthday_month;
int birthday_year;
} birthday;
typedef struct{
int id;
char name[20];
struct birthday birth;
}user;
user usser[100];
int i;
for (i=0;i<100;i++){
fscanf(input, "%s %i %i %i %i", usser[i].id,
usser[i].name, usser[i].birth.birthday_day, usser[i].birth.birhday_month,
usser[i].birth.birthday_year
};
答案 0 :(得分:3)
typedef struct _birthday{
int birthday_day;
int birthday_month;
int birthday_year;
} birthday;
typedef struct{
int id;
char name[20];
struct _birthday birth;
}user;
或
typedef struct{
int id;
char name[20];
birthday birth;
}user;
在您的示例中,“birthday”是一种新类型,不需要关键字“struct”。这就是你得到错误的原因。您可以使用此类型或为结构命名,并将其与关键字struct。
一起使用