c语言的问题,求大神的指导

#include"stdio.h"
#include"stdlib.h"
struct stu
{ char name[10];
unsigned no,age;
};
void main()
{
struct stu *s;
FILE *fp;
scanf("%s%d%d",s->name,&s->no,&s->age);
fprintf(fp,"%s%d%d",s->name,&s->no,&s->age);
if((fp=fopen("stu.txt","w"))==NULL)
{ printf("cannot open file");
exit(1);}
fclose(fp);
if((fp=fopen("stu.txt","r"))==NULL)
{ printf("cannot open file");
exit(1);}

fscanf(fp,"%s%d%d",s->name,&s->no,&s->age);
printf("%s%d%d",s->name,s->no,s->age);
fclose(fp);
}成功创建了文本,但是无法把我输入的东西输入到文本上图片说明

struct stu *s;
没有创建 s就,直接使用,因此出现异常

第一次fprintf时,fp还没有关联到文件呢

不但fp没有初始化,结构体stu也没有初始化,应该先new一个对象

scanf("%s%d%d",s->name,&s->no,&s->age);
你的s还没有实例化,怎么能直接赋值呢?首先你要实例化这个s

struct stu *s;
没有创建 s就,直接使用

不但fp没有初始化,结构体stu也没有初始化

结构体指针没有实例化呀~~