c语言头文件使用规范

c语言头文件使用规范

ID:8969213

大小:18.87 KB

页数:2页

时间:2018-04-13

c语言头文件使用规范_第1页
c语言头文件使用规范_第2页
资源描述:

《c语言头文件使用规范》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、【转载】C语言头文件使用规范   C程序采用模块化的编程思想,需合理地将一个很大的软件划分为一系列功能独立的部分合作完成系统的需求,在模块的划分上主要依据功能。模块由头文件和实现文件组成,对头文件和实现文件的正确使用方法是: *规则1头文件(.h)中是对于该模块接口的声明,接口包括该模块提供给其它模块调用的外部函数及外部全局变量,对这些变量和函数都需在.h中文件中冠以extern关键字声明; *规则2模块内的函数和全局变量需在.c文件开头冠以static关键字声明; *规则3永远不要在.h文件中定义变量; 

2、   许多程序员对定义变量和声明变量混淆不清,定义变量和声明变量的区别在于定义会产生内存分配的操作,是汇编阶段的概念;而声明则只是告诉包含该声明的模块在连接阶段从其它模块寻找外部函数和变量。如: 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实现文件:modul

3、e2.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在不同的模块中对应不同的地址单元,这明显不符合编写者的本意。正确的做法是: 1./*模块1头文件:module1.h*/  2.extern int a; /* 在模块1的.h文件中声明i

4、nt 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.  1./*模块3实现文件: module3.c*/  2.#include “module1.h”   /*

5、 在模块3中包含模块1的.h文件 */     这样如果模块1、2、3操作a的话,对应的是同一片内存单元。 *规则4如果要用其它模块定义的变量和函数,直接包含其头文件即可。    许多程序员喜欢这样做,当他们要访问其它模块定义的变量时,他们在本模块文件开头添加这样的语句: 1.extern int externVar;     抛弃这种做法吧,只要头文件按规则1完成,某模块要访问其它模块中定义的全局变量时,只要包含该模块的头文件即可。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。