为什么两个文件一起调用出现这么多个错误呢
为什么两个文件一起调用出现这么多个错误呢高手帮我

主函数3.c文件内容是
程序代码:#include<stdio.h>
#include<string.h>
#include<malloc.h>
int h,c;
struct add *wwe();
struct add
{
int xuehao;
char xingmin[10];
int a[3];
int b;
struct add *jiedian;};
main()
{
struct add *p1;
p1=wwe();
do
{
printf("学号%d 姓名%s",p1->xuehao,p1->xingmin);
for(h=0;h<3;h++)
{
switch(h)
{
case 0:printf("输出语文成绩\n");break;
case 1:printf("输出数学成绩\n");break;
case 2:printf("输出英语成绩\n");break;
}
printf("%d",p1->a[h]);
}
printf(" 个人平均成绩%d",p1->b);
p1=p1->jiedian;
}while(p1);
printf(" 总平均成绩%d",c);
}
4.c文件内容是
程序代码:struct add *wwe()
{
struct add *p1,*p2,*p3;
int a;
p1=(struct add *)malloc(sizeof(struct add));
p2=p1;
scanf("%d",&p2->xuehao);
scanf("%s",p2->xingmin);
for(h=0;h<2;h++)
{
printf("成绩%d\n",h+1);
scanf("%d",&p2->a[h]);
p2->b+=p2->a[h];}
p2->b=p2->b/h;
for(a=0;a<5-1;a++)
{
p3=(struct add *)malloc(sizeof(struct add));
printf("输入学号 ");
scanf("%d",&p3->xuehao);
printf("输入姓名 ");
scanf("%s",p3->xingmin);
printf("输入学生成绩 ");
for(h=0;h<3;h++)
{
switch(h)
{
case 0:printf("输入语文成绩 ");break;
case 1:printf("输入数学成绩 ");break;
case 2:printf("输入英语成绩 ");break;
}
scanf("%d",&p3->a[h]);
p3->b+=p3->a[h];
}
p3->b=p3->b/h;
printf("\n");
p2->jiedian=p3;
p2=p3;
}
p3->jiedian=NULL;
return p1;
}








创建一个头文件(例如:link.h)保存结构体和除main()以外的函数定义。在主程序(例如:Mymain.c)加#include "link.h"