incompatible types -自己找不到异常原因,请大家帮帮忙,多谢

incompatible types -自己找不到错误原因,请大家帮帮忙,谢谢!
我在做一个航班订票系统,使用链表存储结构
但是我在写函数的时候,总是出现以下的warning:
incompatible   types   -   from   'struct   Air_Ticket   * '   to   'struct   Air_Ticket   * '

而且整个程序有40个这样的warning,都是一样的原因,但是我不明白为什么2个相同的变量不能赋值呀,请大家帮帮忙,谢谢!

程序部分代码:
Booker   *Book_Ticket(Air_Ticket   *Head)     /*订票函数(增加乘客记录)*/
{
Booker   *Head_book,*p,*p0;
Air_Ticket   *pt,*pt0;
char   sure;
char   des_city[20];
time_t   timer;
tm   *ptrtime;
int   i=0;

pt0=pt=Head;
pt=pt-> next;
pt0=pt0-> next;

p0=Head_book=(Booker   *)malloc(LEN_BOOKER);
if(Head_book==NULL){printf( "内存分配错误!\n ");return   0;}
       
p0-> next=NULL;
getchar();
while(1)
{
system( "cls ");
pt=Head;
pt=pt-> next;

pt0=Head;
pt0=pt0-> next;

p=(Booker   *)malloc(LEN_BOOKER);
if(p==NULL){printf( "内存分配失败!\n ");return   0;}

printf( "乘客姓名(20个字符以内,输入*退出): ");
gets(p-> name);
if(p-> name[0]== '* ')break;

timer=time(NULL);
ptrtime=localtime(&timer);

strcpy(p-> book_list_number,asctime(ptrtime));


printf( "证件号: ");
gets(p-> code);

printf( "目的地城市: ");
gets(des_city);

printf( "订票数量: ");
scanf( "%d ",&p-> book_number);

getchar();


printf( "订票航班号: ");
gets(p-> book_air_number);


while((strcmp(p-> book_air_number,pt-> Air_number))!=0&&pt-> next!=NULL)
{
pt=pt-> next;
}

if(pt-> next==NULL){printf( "该航班不存在,请按回车键重新输入 ");getchar();continue;}
else
{
if(p-> book_number <=pt-> Air_tik_number&&pt-> Air_tik_number!=0)
{
pt-> Air_tik_number=pt-> Air_tik_number-p-> book_number;
}

else{
if(pt-> Air_tik_number==0)
{


system( "cls ");
while(pt0-> next!=0)
{
if(strcmp(des_city,pt0-> Air_city)==0&&pt0-> Air_tik_number!=0)
Print__air(pt0);
        pt0=pt0-> next;
}
printf( "该航班机票已经售完,可选择以上其他航班:\n\n ");
continue;
}

if(p-> book_number> pt-> Air_tik_number)
{
printf( "订票数量大于可购机票数量,请重新输入\n ");
continue;
}

}

}

                system( "cls ");
printf( "------------\n ");
printf( "订票信息确认\n ");
printf( "------------\n ");

printf( "乘客姓名: ");
puts(p-> name);
printf( "\n\n ");

printf( "证件号: ");
puts(p-> code);
printf( "\n\n ");

printf( "订票数量: ");
printf( "%d\n\n ",p-> book_number);

printf( "--------\n ");
printf( "航班情况:\n ");
printf( "--------\n ");
Print__air(pt);

printf( "订单编号: ");
        puts(p-> book_list_number);
printf( "\n ");

printf( "总价:%d元\n ",pt-> Air_price*p-> book_number);