C语言分多文件写代码时在.h文件中声明自定义函数报错,不理解报错原因。

img

img


自定义的函数在另一个.c文件中
当不分多文件运行时代码能正常运行
第一张图为在.h文件中的声明
第二张图为报错截图

#include <stdio.h>
#include <string.h>
#include<malloc.h>
#include <stdlib.h>  //用于system语句的声明
void prin1();         //声明浏览学生所有选修课程函数void choose();       //声明学生选课函数
typedef struct subjects        //定义结构体叫作SUB,在后面就可以直接使用
{     
int num;                 //课程编号     
char name[30];           //课程名称     
char kind[20];           //课程性质     
int stime;               //总学时    
 int ttime;               //授课学时    
 int etime;               //实验或上机学时     
int score;               //学分     
int term;                //开课学期    
 struct subjects *next;}SUB;              
SUB *head=NULL;
void Mangers();  //管理员菜单
void Students(); //学生菜单 
void savefile(); //保存管理员文件
void savefile1() //保存学生文件 
void *insert();
SUB *create_form();
void* myInsert(SUB *subj);
void readfile();
void prin();
void *del();
void search();
void About();
void Help();

把头文件整个贴出来

看下你的.c文件的定义