1个回答
展开全部
你搞错了extern的用法,这里不需要extern。
追问
谢谢,将结构体类型的extern去掉后的确没有警告了,也能运行,最后再问一下我在头文件不用extern结构体的原因是我那在头文件结构体的那段代码是属于声明不属于定义么
追答
extern的作用是告诉编译器这个变量的定义来自外部文件,连接时从其他中间文件中寻找此变量,而不要在当前文件中定义此变量。extern struct Stu;的意思是,外部文件中有个叫做Stu的结构体,连接时从其他文件中寻找此结构体的定义。你既然定义了这个结构体的别名叫Student,那么定义这个结构体变量的方式应该是Student xxx。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询