有人看下fseek函数的问题和指针的问题吗?

struct stu
{
char name[10];
int num;
}boya[3],boyb[3],*pp,*qq;
int main()
{
FILE *fp;
int i;
pp=boya;
qq=boyb;

fp=fopen("2.txt","wb+");
rewind(fp);

printf("input data\n");
for(i=0;i<3;i++,pp++)
{
    scanf("%s%d",pp->name,&pp->num);
}

pp=boya;
fwrite(pp,sizeof(struct stu),3,fp);

fseek(fp,sizeof(struct stu),0);
fread(qq,sizeof(struct stu),1,fp);
printf("%s\t%d\n\n",qq->name,qq->num);

fseek(fp,sizeof(struct stu),1);
fread(qq,sizeof(struct stu),1,fp);
printf("%s\t%d\n\n",qq->name,qq->num);

fclose(fp);

}

为什么第二次fseek后,第二次的结果不变?
结果图:图片说明

pp这个指针已经指向boya这个结构体指针了,为什么去掉pp=boya会出问题?
去掉pp=boya的结果图:图片说明

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^