正确做法
有两个.c文件,a.c文件中定义了全局变量,int quanju = 0;b.c直接在自己这里声明extern int quanju;就可以使用全局变量啦。
不正确做法
还是以上场景,b.c文件需要调用a.c文件里面的全局变量。
- 整一个头文件a.h,然后在头文件里面声明int quanju;在b.c里面包含头文件a.h,在a.c里面也包含a.h。
报错,变量重定义。
在编译过程中,会把所有的.h文件里面的内容拷贝到引用这个.h文件的源代码里面。所以会出现重定义。
有两个.c文件,a.c文件中定义了全局变量,int quanju = 0;b.c直接在自己这里声明extern int quanju;就可以使用全局变量啦。
还是以上场景,b.c文件需要调用a.c文件里面的全局变量。