error C2037: “tel”的左侧部分指定未定义的结构/联合“contact”

有谁见过这个错误,怎么解决呢???

error C2037: “tel”的左侧部分指定未定义的结构/联合“contact”

 struct contact 
{
    char name[20];
    char sex;
    int age;
    char tel[11];
    char add[200];
};

struct contact* insert(struct contact *x)
{
    x = (struct contact *)malloc(sizeof(contact));
    printf("Please Enter The Name:\n");
    gets(x->name);
    printf("Please Enter The Tel:\n");
    gets(x->tel);
    printf("Please Enter The Add:\n");
    gets(x->add);
    printf("Please Enter The Sex:\n");
    scanf("%c",&x->sex);
    printf("Please Enter The Age:\n");  //调整了输入是为了输入数据完整,或者你全部使用 gets 来获取数据。。
    scanf("%d",&x->age);
    return x;
}

int main()
{
    struct contact *x = {0};
    insert(x);
    system("pause");
    return 0;
}

结构体记得提前声明。。。

代码哪?? tel 你是怎么定义哪???

 #include<stdio.h>
#include<stdlib.h>

struct contact* insert(struct contact *x)
{
    x=(struct contact *)malloc(1000);
    printf("Please Enter The Name:\n");
    gets(x->name);
    printf("Please Enter The Sex:\n");
    gets(x->sex);
    printf("Please Enter The Age:\n");
    scanf("%d",x->age);
    printf("Please Enter The Tel:\n");
    gets(x->tel);
    printf("Please Enter The Add:\n");
    gets(x->add);
}



struct contact {
    char name[20];
    char sex;
    int age;
    char tel[11];
    char add[200];
};

int main()
{
    struct contact *x;
    insert(x);
    system("pause");
    return 0;
}