- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
常量条规则
C编码规范
109条规则+49条建议
目 录
1.文件结构(4条规则+6条建议) 1
1.1 版权和版本的声明 1
1.2 头文件的结构 2
1.3 定义文件的结构 3
1.4头文件和定义文件使用(4条规则+6条建议) 3
2.程序版式(34条规则+2条建议) 4
2.1 空行(4条规则) 4
2.2 代码行(5条规则+1条建议) 4
2.3 代码行内的空格(6条规则+1条建议) 5
2.4 对齐(4条规则) 6
2.5 长行拆分(2条规则) 7
2.6 修饰符的位置(1条规则) 8
2.7 注释(12条规则) 8
3.标识符命名(15条规则+1条建议) 8
4.常量(7条规则) 10
4.1 const 与#define 的比较(2条规则) 10
4.2 常量定义(5条规则) 10
5.变量(11条规则) 11
6.表达式和基本语句(17条规则+3条建议) 11
6.1 运算符的优先级(1条规则) 11
6.2 复合表达式(4条规则) 12
6.3 if 语句布尔表达式(7条规则) 12
6.4 循环语句(1条规则+3条建议) 15
6.5 switch 语句(2条规则) 16
6.6 goto 语句(1条规则) 16
7.函数设计(16条规则+10条建议) 16
7.1注释规则(1条规则) 16
7.2 函数的使用(1条规则) 16
7.3 参数的规则(4条规则+2条建议) 17
7.4 返回值的规则(6条规则) 17
7.5 函数内部实现的规则(2条规则) 17
7.6 其它建议(6条建议) 18
7.7 使用断言(2条规则+2条建议) 18
8.内存管理(5条规则) 18
8.1 内存使用注意的问题(5条规则) 18
9.其他规范及建议(27条建议) 19
9.1 提高程序的效率(6条建议) 19
9.2 编译问题(2条建议) 19
9.3 兼容性问题(8条建议) 19
9.4性能问题(4条建议) 19
9.5 其他一些有益的建议(7条建议) 20
1.文件结构(4条规则+6条建议)
C程序文件通常分为两类文件:
一类文件用于保存程序的声明(declaration),称为头文件。头文件以“.h”为后缀。
另一类文件用于保存程序的实现(implementation),称为定义(definition)文件。定义文件以“.c”为后缀。对于简单的C语言程序,一般在把头文件和程序定义文件放在一起,只有一个.c定义文件即可。而对于复杂的程序,则多采用头文件包含的形式并通过多个定义文件实现。
1.1 版权和版本的声明
版权和版本的声明一般应该位于头文件和定义文件的开头(参见示例1-1),主要内容包括:
版权信息;
文件名称、文件标识、摘要;
当前版本号、作者/修改者、修改日期、修改描述等;
版本历史信息、原作者、完成日期等。
示例1-1 版权和版本的声明
版本标识:采用主版本号.次版本号.修订号 来命名自己产品的编号。如果次版本号是偶数(如0、2、4等),代表正式版本,如果次版本号是奇数(如1、3、5等),代表开发过程中的测试版本。修订号则相当于Build号,用来标识一些小的改动。
文件开头处的版权和版本声明(参见示例1-1);
预处理块;
声明函数原型和声明数据结构或变量等。
假设头文件名称为filename.h,头文件的结构参见示例1-2。
示例1-2 C头文件结构
1.3 定义文件的结构
定义文件有三部分内容:
定义文件开头处的版权和版本声明(参见示例1-1);
对一些头文件的引用;
程序的实现体(包括数据和代码)。
假设定义文件的名称为filename.c,定义文件的结构参见示例1-3
示例1-3 C定义文件的结构
1.4头文件和定义文件使用(4条规则+6条建议)
【规则1-2-1】在复杂的工程文件中,为了防止头文件被重复引用,应使用ifndef/define/endif 结构产生预处理块。
【规则1-2-2】用#include filename.h 格式来引用标准库的头文件(编译器将从标准库目录开始搜索)。
【规则1-2-3】用#include “filename.h” 格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索)。
【规则1-2-4】只引用必需的头文件,不要为了防止忘记包含头文件而在每个文件开始添加很多的头文件。
【建议1-2-1】不要在头文件中定义常量或变量,注意头文件只是用来声明。
【建议1-2-2】不提倡使用全局变量,尽量不要在头文件中出现像“extern int width;”这类声明。
【建议1-2-3】将非系统的函数库放在一个单独的目录下引用。
【建议1-2-4】头文件应按功能组织在一起,即对单独子系统的声明应在单独的头文件中。此外,当代码从一个平台移植到另一个平台时有可能
您可能关注的文档
- 居家无障碍改造个案分享第一篇居家无障碍改造-香港职业治疗学院.PDF
- 就将迪拜发展成为举世闻名的国际都创造了无数个世界第一.PPT
- 居里点试验使用说明-物理试验中心.DOC
- 屏东内埔国小菸害防治教育低年级单元教学活动设计-东光国小.DOC
- 居留许可证-enterprisegreece.PDF
- 屏东性别统计分析.DOC
- 屏东第51届国中小学科学展览会作品说明书-屏东综合系统首页.PDF
- 屏东政府100年军公教年终工作奖金慰问金发放问答集.DOC
- 浅谈动作平衡及利用虚拟实境搭配训练-tbnet电子邮件系统.PDF
- 展开与折叠-smweklycom.PPT
- 《GB/T 10810.3-2025眼镜镜片 第3部分:透射比试验方法》.pdf
- 中国国家标准 GB/T 45283.2-2025工业控制系统人机接口组态文件交互 第2部分:基础交互描述.pdf
- 《GB/T 45283.2-2025工业控制系统人机接口组态文件交互 第2部分:基础交互描述》.pdf
- GB/T 45283.2-2025工业控制系统人机接口组态文件交互 第2部分:基础交互描述.pdf
- 中国国家标准 GB/T 10810.3-2025眼镜镜片 第3部分:透射比试验方法.pdf
- GB/T 10810.3-2025眼镜镜片 第3部分:透射比试验方法.pdf
- 《GB/T 27995.1-2025半成品镜片毛坯 第1部分:单焦和多焦》.pdf
- GB/T 27995.1-2025半成品镜片毛坯 第1部分:单焦和多焦.pdf
- 中国国家标准 GB/T 27995.1-2025半成品镜片毛坯 第1部分:单焦和多焦.pdf
- 《GB/T 10810.5-2025眼镜镜片 第5部分:表面耐磨试验方法》.pdf
文档评论(0)