C中结构和功能的结构

时间:2014-02-25 07:30:32

标签: c function structure

我一直在做读数据和创建特定结构的任务。 在一个结构(其中包含另一个结构)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
};

1 个答案:

答案 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。

一起使用