例一
- /* module1.h */
- int a = 0;
- /* module1.c */
- #include "module1.h"
- /* module2.c */
- #include "module1.h"
- /* module3.c */
- #include "module1.h"
这里变量a会在每个.c中各分配一次内存空间。
正确的做法是只在头文件中进行声明:
- /* module1.h */
- extern int a;
- /* module1.c */
- #include "module1.h"
- int a = 0;
- /* module2.c */
- #include "module1.h"
- /* module3.c */
- #include "module1.h"
这样模块2、模块3和模块1使用的是一个地址空间的全局变量a。
阅读(1808) | 评论(0) | 转发(0) |