文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>【转载】C语言头文件使用规范

【转载】C语言头文件使用规范

时间:2010-12-17  来源:平凡生活

C代码 
  1. /*模块1头文件:module1.h*/  
  2. int a = 5; /* 在模块1的.h文件中定义int a */  
  3.   
  4. /*模块1实现文件:module1.c*/  
  5. #include “module1.h” /* 在模块1中包含模块1的.h文件 */  
  6.   
  7. /*模块2实现文件:module2.c*/  
  8. #include “module1.h” /* 在模块2中包含模块1的.h文件 */  
  9.   
  10. /*模块3实现文件:module3.c*/  
  11. #include “module1.h” /* 在模块3中包含模块1的.h文件 */  


    以上程序的结果是在模块1、2、3中都定义了整型变量a,a在不同的模块中对应不同的地址单元,这明显不符合编写者的本意。正确的做法是: 

C代码 
  1. /*模块1头文件:module1.h*/  
  2. extern int a; /* 在模块1的.h文件中声明int a */  
  3.   
  4. /*模块1实现文件:module1.c*/  
  5. #include “module1.h” /* 在模块1中包含模块1的.h文件 */  
  6. int a = 5; /* 在模块1的.c文件中定义int a */  
  7.   
  8. /*模块2实现文件: module2.c*/  
  9. #include “module1.h” /* 在模块2中包含模块1的.h文件 */  
  10.   
  11. /*模块3实现文件: module3.c*/  
  12. #include “module1.h”   /* 在模块3中包含模块1的.h文件 */  


    这样如果模块1、2、3操作a的话,对应的是同一片内存单元。 

* 规则4 如果要用其它模块定义的变量和函数,直接包含其头文件即可。 
    许多程序员喜欢这样做,当他们要访问其它模块定义的变量时,他们在本模块文件开头添加这样的语句: 

C代码 
  1. extern int externVar;  


    抛弃这种做法吧,只要头文件按规则1完成,某模块要访问其它模块中定义的全局变量时,只要包含该模块的头文件即可。

排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载