zzk5015377 发表于 2022-4-17 20:04:26

结构体指针

#include<stdio.h>
#include<stdlib.h>
struct student
{
    char name;
    char xuehao;
    int math;
    int eng;
    int total;
}stu1,stu2,*pp,*qq;
void main()
{
FILE *fp;
int i;
pp=stu1;
qq=stu2;
if((fp=fopen("D:\学习","wb+"))==NULL)
{
   printf("Cannot open file\n");
   getch();
   exit(1);
}
for(i=0;i<5;i++,pp++)
    scanf("%s %s %d %d",pp->name,pp->xuehao,&pp->math,&pp->eng);
pp=stu1;
fwrite(pp,sizeof(struct student),5,fp);
rewind(fp);
fread(qq,sizeof(struct student),5,fp);
for(i=0;i<5;i++,qq++)
{qq->total=qq->eng+qq->math;
    printf("%s\t%s %d %d %d\n",qq->name,qq->xuehao,qq->math,qq->eng,qq->total);}
    fclose(fp);
}
    这里为啥要pp=stu1 qq=stu2
第一个和第二个pp=stu分别是啥意思 为什么不能直接用指针pp

大马强 发表于 2022-4-18 22:06:28

我感觉有点问题
就相当于
int *i = int a
挺多余的

zzxhh628 发表于 2022-4-19 08:02:19

这个操作就是把那个数组的地址给了那个指针,然后再把那个指针当成数组来用,感觉可以直接用那个数组。
页: [1]
查看完整版本: 结构体指针