加了static,变量的作用域为当前.C文件,相当于在每个.C文件中各定义了一个变量,互不影响。
如果想在.h文件中定义变量可以用条件编译
#ifdefine __main_c
#define GLOBA
#else
#define GLOBA extern
#endif
GLOBA int a;
这样在main.c的文件开头加一句宏定义
#define __main_c
这样a在main.c中为定义int a;
在别的文件中就为外部声明extern int a;
加了static,变量的作用域为当前.C文件,相当于在每个.C文件中各定义了一个变量,互不影响。
如果想在.h文件中定义变量可以用条件编译
#ifdefine __main_c
#define GLOBA
#else
#define GLOBA extern
#endif
GLOBA int a;
这样在main.c的文件开头加一句宏定义
#define __main_c
这样a在main.c中为定义int a;
在别的文件中就为外部声明extern int a;
举报