C代码编写规范
C语言代码规范

C语言代码规范C语言是一种广泛应用于编程领域的高级编程语言,具有跨平台、效率高、灵活性强等优点。
编写规范合乎标准的C语言代码有助于提高代码的可读性、可维护性和可移植性。
本文将介绍一些常用的C语言代码规范,以帮助开发者编写高质量的C语言程序。
一、代码格式1. 缩进:使用四个空格进行缩进,不要使用制表符。
这样可以保证在不同编辑器或显示器上显示的代码缩进一致。
2. 行长度限制:每行代码应尽量保持在80个字符以内,超过限制的代码可以进行适当换行。
换行时要注意保持代码的清晰可读性,一般可以采用缩进来表达代码的层次关系。
3. 大括号:大括号的位置应该和相关语句对齐,且起始的大括号应该放在语句所在行的末尾,而不是单独另起一行。
4. 空格和空行:在适当的情况下使用空格和空行可以提高代码的可读性。
例如,在运算符和操作数之间使用空格,不同的代码块之间使用空行进行分割等。
二、命名规范1. 变量名:使用有意义的变量名,尽量避免使用单个字符或简单的缩写表示变量。
变量名应该忠实地反映其所代表的含义。
2. 函数名:函数名应使用动词和名词的组合,具体描述函数的功能。
函数名应该清晰地表达其所完成的操作或所返回的结果。
3. 常量名:常量名使用全大写字母,并使用下划线进行分隔。
例如,MAX_LENGTH。
4. 类型名:类型名使用首字母大写的驼峰命名法,例如,StudentInfo。
5. 宏定义名:宏定义名使用全大写字母,并使用下划线进行分隔。
例如,PI。
三、注释规范1. 单行注释:使用"//"进行单行注释,注释符号后面应该留一个空格。
注释应该清晰明了,解释代码的用途或特殊处理等。
2. 多行注释:使用"/*"和"*/"进行多行注释。
多行注释通常用于解释一整块代码的功能或原理等。
3. 函数注释:在每个函数定义的上方加上函数注释,注释中应该包含函数的功能描述、输入参数的说明、返回值的含义以及可能抛出的异常等信息。
c语言编程的书写规则

c语言编程的书写规则C语言编程的书写规则主要遵循以下规范:1. 缩进和空格:缩进和空格的使用可以使代码更易读。
通常,运算符两侧、逗号之后、控制语句(如if、for、while等)前后应添加空格。
在函数和括号的开头和结尾,通常应有空行。
2. 命名规则:变量和函数名应简洁且有意义。
通常,变量名和函数名以小写字母开头,后续单词的首字母大写,如 `myVariable`。
3. 注释:注释应简洁明了,解释代码的作用或目的,而不是解释代码是如何工作的。
注释应放在代码的上方或旁边,与代码保持一定距离。
4. 函数:函数应该尽可能短小,只做一件事情。
函数应具有描述性的名称,参数列表应清晰,并应包含返回类型。
5. 大括号:在C语言中,大括号 `{}` 用于定义代码块。
每一个独立的语句块都应该使用大括号。
6. 控制结构:控制结构(如if-else、for、while等)应该清晰明了,控制语句应只包含必要的逻辑。
7. 类型定义:类型定义应清晰明了,如果有必要,可以使用typedef来定义新的类型名称。
8. 预处理器指令:预处理器指令(如include、define等)应放在源文件的顶部。
9. 避免魔法数字和字符串:魔法数字和字符串(硬编码的值)会使代码难以理解和维护。
如果需要在代码中使用特定的值,应将其定义为常量或宏。
10. 避免全局变量:全局变量会使代码难以理解和维护,并可能导致意外的副作用。
尽可能使用局部变量。
11. 错误处理:在可能失败的操作后,应检查错误并相应地处理它们。
以上只是一些基本的C语言编程规则,实际编写代码时可能还需要考虑更多因素,如代码的可读性、可维护性、性能等。
C语言编码规范

z if、for、while、switch等与后面的括号间应加空格,使if等关键字更为突出、明显。 if (a >= b && c > d)
USTB ROBOTEAM
C 语言编码规范
可读性
z I注意运算符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级。
说明:防止阅读程序时产生误解,防止因默认的优先级与设计思想不符而导致程序出错。 示例:下列语句中的表达式
Description: a short introduction of this module.
Revision History:
Date
Rel Ver. Noຫໍສະໝຸດ esmonth/day/year
x.x [e.g.] Module created
***********************************************************/
/* code two comments */ program code two
USTB ROBOTEAM
C 语言编码规范
6. 在代码的功能、意图层次上进行注释,提供有用、额外的信息。 说明:注释的目的是解释代码 的目的、功能和采用的方法,提供代码以外的信息,帮助读者理解代码,防止没必要的重复注 释信息。 例如:如下注释意义不大。 /* if receive_flag is TRUE */ if (receive_flag) 而如下的注释则给出了额外有用的信息。 /* if mtp receive a message from links */ if (receive_flag)
word = (high << 8) | low (1)
C语言代码规范(编程规范)

什么叫规范?在C语言中不遵守编译器的规定,编译器在编译时就会报错,这个规定叫作规则。
但是有一种规定,它是一种人为的、约定成俗的,即使不按照那种规定也不会出错,这种规定就叫作规范。
虽然我们不按照规范也不会出错,但是那样代码写得就会很乱。
大家刚开始学习C语言的时候,第一步不是说要把程序写正确,而是要写规范。
因为如果你养成一种非常不好的写代码的习惯,代码就会写得乱七八糟,等到将来工作面试的时候,这样的习惯可能会让你失去机会。
那么代码如何写才能写得很规范呢?代码的规范化不是说看完本节内容后就能实现的。
它里面细节很多,而且需要不停地写代码练习,不停地领悟,慢慢地才能掌握的一种编程习惯。
所以大家不要想着一下子就能把代码规范化的所有知识全部掌握,也不要想着一下子就能把代码写规范,这是不太可能的。
有很多知识,比如为什么代码要这样写,为什么不能那样写,作为一个初学者你是很难弄明白的。
有很多规范是为了在程序代码量很大的时候,便于自己阅读,也便于别人阅读。
所以刚开始的时候有很多规范你不知道为什么要那样规定,你就单纯地模仿就行了。
等将来敲代码敲得时间长了,你就会感觉到那样写是很有好处的。
代码规范化的第一个好处就是看着很整齐、很舒服。
假如你现在用不规范的方式写了一万行代码,现在能看得懂,但等过了三个月你再回头看时就很吃力了,更不要说给别人看了。
所以代码要写规范,比如加注释就是代码规范化的一个思想。
在一般情况下,根据软件工程的思想,我们的注释要占整个文档的20%以上。
所以注释要写得很详细,而且格式要写得很规范。
第二个好处是,把代码写规范则程序不容易出错。
如果按照不规范的格式输入代码的话,很容易出错。
而代码写规范的话即使出错了查错也会很方便。
格式虽然不会影响程序的功能,但会影响可读性。
程序的格式追求清晰、美观,是程序风格的重要构成元素。
代码规范化基本上有七大原则,体现在空行、空格、成对书写、缩进、对齐、代码行、注释七方面的书写规范上。
C语言编程规范标准

编码规1. 头文件编码规 (2)2. 函数编写规 (2)3. 标识符命名与定义 (2)3.1通用命名规则 (2)3.2 变量命名规则 (3)3.3函数命名规则 (3)3.4 宏的命名规则 (3)4. 变量 (3)5. 宏、常量 (4)6. 质量保证 (4)7. 程序效率 (5)8. 注释 (5)9. 排版与格式 (6)10. 表达式 (7)11. 代码编辑、编译 (7)12. 安全性 (7)13. 可读性 (7)14. 可测性 (7)15. 单元测试 (8)16. 可移植性 (8)1. 头文件编码规1. 禁止头文件循环依赖。
2. .c/.h文件不要包含用不到的头文件。
3. 禁止在头文件中定义变量。
4. 同一产品统一包含头文件排列方式。
(如功能块排序、文件名升序、稳定度排序。
)5. 只能通过包含头文件的方式使用其他.c提供的接口,禁止在.c过extern的方式使用外部函数接口、变量。
2. 函数编写规1. 一个函数仅完成一件功能。
2. 重复代码应该尽可能提炼成函数。
3.为简单功能编写函数4.函数的返回值要清楚、明了,让使用者不容易忽视错误情况。
5. 避免函数过长,新增函数不超过100行(非空非注释行)。
6. 避免函数的代码块嵌套过深,新增函数的代码块嵌套不超过4层。
7. 可重入函数应避免使用全局变量和禁止使用static变量。
8. 设计高扇入,合理扇出(小于7)的函数。
9. 废弃代码(没有被调用的函数和变量)要及时注释(有助于更好理解程序)。
10. 对所调用函数的错误返回码要仔细、全面地处理。
11. 函数不变参数使用const。
12. 函数应避免使用全局变量、静态局部变量和I/O操作,不可避免的地方应集中使用。
13. 函数的参数个数不超过5个。
14. 减少或禁止函数本身或函数间的递归调用3. 标识符命名与定义3.1通用命名规则1. 标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解。
C语言程序设计代码规范

C++语言程序设计代码规范1 命名规范本规范对变量、函数、类(结构)等的名称有严格的规定,在编码过程中务必遵守。
1.1 变量命名规范变量名称采用匈牙利命名法,即:完整的名称由“缀”和“主体”复合而成。
“缀”用于指示变量的种类、数值类型、作用域等属性,由小写字符和下划线(_)组成,根据其附着在“主体”的位置分为前缀和后缀两种。
“主体”表示变量的语义。
整个变量名称的格式如下:<作用域前缀>[<指针缀>]<类型缀><主体><作用域后缀>下面详细论述。
1.1.1 作用域缀(前缀和后缀)作用域前缀处在整个变量名的最前面。
常用的作用域前缀为:作用域后缀处在整个变量名的最后面。
只有一种情况使用作用域后缀,就是函数的形参必须以作用域后缀结束。
1.1.2 指针缀如果一个变量是指针,则必须使用指针缀。
指针缀使用字母p表示。
以前,在DOS平台下有短指针和长指针的区别,有时称长指针为lp。
在Win32平台下已经不存在这个区别了,所以统一使用p, 而不是lp。
1.1.3 类型缀类型缀由小写字符构成,用于描述变量的类型。
注意:1.不要私自创造出各种各样的前缀。
2.也没有必要在前缀中仔细区分一些细小的类型区别,那样会给代码维护工作带来额外的麻烦。
常用的类型前缀为:对于其他不在上面表中的结构、类等复杂数据类型,特别是不常使用的和不通用的,不使用前缀。
例如:class Person Jonson;struct DateTime MyDt;在应用场合明确的情况下,例如:简单的局部变量,它的值类型前缀有时可以省略。
具体见下面的例子。
1.1.4 复合前缀根据以上规则,变量根据它所在的作用域、类型、是否是指针,得到一个复合前缀。
例如:char g_szFileName[_MAX_PATH]; //全局字符串变量char* g_pszFileName; //全局字符串指针变量:char s_szFileName[_MAX_PATH]; //静态字符串变量char* s_pszFileName; //静态字符串指针变量:char _s_szFileName[_MAX_PATH]; //局部静态字符串变量char* _s_pszFileName; //局部静态字符串指针变量:char m_szFileName[_MAX_PATH]; //类字符串变量char* m_pszFileName; //类字符串指针变量:char ms_szFileName[_MAX_PATH]; //类静态字符串变量char* ms_pszFileName; //类静态字符串指针变量:更多的例子,参见下面按照作用域讨论变量名一节。
C语言的命名规范与代码风格
C语言的命名规范与代码风格引言在编写C语言程序时,一个良好的命名规范和代码风格能够提高代码的可读性和可维护性。
本文将介绍一些常用的C语言命名规范和代码风格,帮助开发者编写规范、易读、易维护的代码。
命名规范1. 变量和函数命名•使用有意义的命名,能够准确描述变量或函数的用途。
•变量名应该使用小写字母,单词之间使用下划线分隔,例如:first_name。
•函数名首字母小写,后续单词首字母大写,采用驼峰命名法,例如:getUserInfo()。
2. 常量命名•常量名应全部大写,单词之间使用下划线分隔,例如:MAX_NUM。
•常量名应该具有描述性,能够清晰表达常量的含义。
3. 宏定义命名•宏定义命名应全部大写,单词之间使用下划线分隔,例如:#define PI3.1415926。
•宏定义命名应具有描述性,能够清晰表达宏定义的含义。
4. 结构体和枚举命名•结构体和枚举类型命名应使用驼峰命名法,首字母小写,例如:personInfo。
•枚举值命名应全部大写,单词之间使用下划线分隔,例如:STATUS_OK。
5. 文件和目录命名•文件名应使用小写字母,单词之间使用下划线分隔,例如:my_utils.c。
•目录名应使用小写字母,单词之间使用下划线分隔,例如:my_module。
6. 注释•对于每个变量或函数,在其声明之前应添加注释,描述其作用和用法。
•注释应以双斜线//开始,单行注释使用//后跟注释内容,多行注释使用/*和*/将注释内容包裹起来。
代码风格1. 缩进和空格•使用四个空格进行缩进。
•在运算符前后添加空格,增加代码的可读性。
2. 大括号•在控制语句(如if语句、for循环等)的执行块前后需要加上大括号,即使代码块只有一行。
3. 行数限制•一行最多不超过80个字符。
4. 函数和语句•每个函数之间应空出一行。
•每个语句之间也应空出一行,提高代码可读性。
5. 条件语句•在条件语句中,将常量放在前面,变量放在后面,避免将变量赋值写成判断等号。
C语言中的代码规范和规范检查工具
C语言中的代码规范和规范检查工具编程是一门需要高度的准确性和规范性的艺术。
在C语言编程中,代码规范和规范检查工具是确保代码质量和可维护性的重要组成部分。
遵循代码规范可以提高代码的可读性、可维护性和可移植性,同时也有助于团队协作和项目管理。
本文将介绍C语言中常用的代码规范以及一些常见的规范检查工具。
一、代码规范1. 编码风格编码风格是代码规范的基础,它主要指定了如何组织代码的结构、如何命名变量和函数、如何使用注释等。
编码风格的一致性可以使代码易于阅读和理解,也便于团队之间的合作。
在C语言中,有多种编码风格可供选择,例如K&R风格、ANSI风格和GNU风格等。
2. 命名规范良好的命名规范可以使代码更具可读性和可维护性。
在C语言中,通常使用驼峰式命名法或下划线命名法。
变量名和函数名应具有描述性,避免使用过于简单或过于复杂的命名。
另外,对于常量和宏定义,一般使用全大写字母来命名。
3. 注释规范注释是代码中的重要部分,可以提供关键信息和解释,方便他人理解和修改代码。
在C语言中,注释主要分为单行注释和多行注释。
良好的注释应该准确地描述代码的功能、输入和输出。
另外,还应注意及时更新注释,保持它们与实际代码的一致性。
二、规范检查工具1. lintlint是C语言中最早的一种规范检查工具,它可以对源代码进行静态分析,找出潜在的问题和代码不规范之处。
lint工具可以检查变量的声明和使用、函数返回值的检查、潜在的内存泄漏、未使用的变量等。
lint工具需要使用特定的选项和配置文件来指定规范。
2. clang-formatclang-format是一个由Clang项目提供的代码格式化工具,可以根据配置文件自动格式化C语言代码。
它支持多种编码风格,如K&R风格、ANSI风格和Google风格等。
clang-format可以统一代码的风格,减少人为错误,提高代码的可读性和可维护性。
3. cppcheckcppcheck是一个功能强大的静态代码分析工具,用于检查C语言代码中的潜在错误和不规范的代码。
C语言的语法风格与代码书写规范指南
C语⾔的语法风格与代码书写规范指南C代码:#include <stdio.h>int main(void){printf("That is Right Style\n");return 0;}在⼀个标准的C语⾔程序中,最特殊的莫过于main函数了,⽽说到底它就是⼀个函数⽽已,仅仅因为它地位特殊拥有第⼀执⾏权⼒,换句话说,难道因为⼀个⼈是省长它就不是⼈类了?所以函数该有的它都应该有,那么函数还有什么呢?函数⼤体上分为内联函数(C99)(内联函数并⾮C++专属,C语⾔亦有,具体见前⽅链接)和⾮内联的普通函数,它们之间有⼀个很明显的特点(⼀般情况下),那就是不写原型直接在main函数上⽅定义,即使不加'inline'关键字,也能被编译器默认为内联函数,但之后带来的某些并发问题就不是编译器考虑的了。
普通函数正确的形式应该为声明与定义分离,声明就是⼀个函数原型,函数原型应该有⼀个函数名字,⼀个参数列表,⼀个返回值类型和⼀个分号。
定义就是函数的内在,花括号内的就是函数的定义://...int function(int arg_1, float arg_2);//...int main(int argc, char* argv[]){int output = function(11, 22.0);printf("%d\n",output);return 0;}int function(int arg_1, float arg_2){int return_value = arg_1;float temp_float = arg_2;return return_value;}依上所述,当⾮必要时,在⾃⼰编写函数的时候请注意在开头(main函数之前)写上你的函数的原型,并且在末尾(main函数之后)写上你的函数定义,这是⼀个很好的习惯以及规范。
所谓代码整洁之道,就是如此。
C语言程序开发规范
C语言程序开发规范目录1.引言1.1.目的使用本规范是为了支持下述软件品质:无错误、有失效保障、可靠一个软件产品,如果严格符合它的规范就是正确的,如果在异常环境下仍然能够工作就是健壮的(robust)。
无错误、有失效保障、可靠就是指一个软件产品既正确又健壮。
可维护一个软件产品,如果它可以随着规范的改变而方便地进行修正就是可扩展的;如果一个熟悉该软件规程的新程序员能够轻松地理解它的实现就是可读的;如果能够整个或部分地被一个新的应用所重用就是可重用的。
可维护就是指一个软件产品可扩展、可读并且可重用。
可移植一个软件产品,如果可以方便地转移到一个不同的硬件或软件环境中应用,那么它是可移植的。
可配置一个软件产品,如果能够轻松地选择源代码的正确版本和其它联编一个软件产品所需的部件,那么它是可配置的。
可验证一个软件产品,如果能够在验证阶段轻松地准备测试数据和检测故障的程序,那么它就是可验证的。
易调试一个软件产品,如果能够轻松地从故障上溯查找到错误所在,那么它是容易调试的。
1.2.一致性凡所有开发的C软件都必须遵循本文档的要求,第三方软件可以有例外。
其中,规则必须遵守,而建议则希望被遵守,如不能遵守,其原因必须作书面记载。
所有对规则或建议的违背都必须有书面记载。
1.3.术语标识符(identifier):指C中的一个变量、常量、函数或类型。
在本文档中它与“名称”同义。
定义(define):变量或常量的定义是指编译器为其分配的内存。
函数的定义是指函数体的实现(也是为代码分配内存)。
声明(declare):指一些实体对编译器的声明所在的位置,如函数原型、类型(由typedef 定义)、变量和常量。
声明不分配内存。
宏(macro):指由#define语句定义的代替一个文本串的名字。
当该名字在源程序中出现时,预处理器用对应文本串代替它。
固有数据类型(或预定义或基本数据类型):由语言本身定义的数据类型,如int。
用户定义数据类型:编程人员用struct、union、enum或typedef定义的数据类型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录C代码编写规范.......................................................................... 错误!未定义书签。
概述.. (3)规则 (3)1.1 文件结构 (3)1.1.1 文件扩展名 (3)1.1.2 版权和版本的声明 (3)1.1.3 头文件和定义文件结构 (4)1.2 程序排版 (7)1.2.1 概述 (7)1.2.2 缩进、空行、空格与对齐 (7)1.2.3 长行拆分 (9)1.2.4 修饰符的位置 (10)1.2.5 注释 (10)1.2.6 可读性 (12)1.2.7 自定义类型 (13)1.2.8 预编译指令 (14)1.3 命名规则 (15)1.3.1 基本原则 (15)1.3.2 具体命名原则 (15)1.4 表达式和基本语句 (17)1.4.1 表达式 (17)1.4.2 基本语句 (17)1.4.3 常量规则 (18)1.4.4 变量规则 (19)1.4.5 结构 (19)1.5 函数规则 (22)1.5.1 参数规则 (22)1.5.2 返回值的规则 (22)1.5.3 函数内部规则 (23)1.5.4 函数使用方法 (23)1.5.5 函数建议 (25)1.5.6 断言 (26)1.6 代码编辑、编译与审查 (27)1.6.1 代码编辑 (27)1.6.2 代码编译 (27)1.6.3 代码审查 (28)1.7 代码测试与维护 (28)1.8 宏 (29)1.9 程序效率 (29)1.10 质量保证 (31)附件 (33)1.11 附件一运算符顺序 (33)1.12 附件二英文常用缩写 (34)概述本文档的目的在于规范C代码撰写,所有软件工程师提交代码必须严格按照本文档执行。
规则1.1文件结构1.1.1文件扩展名每个C程序分为两个文件。
一个文件用于保存程序的声明(declaration),为头文件。
另一个文件用于保存程序的实现(implementation),为定义(definition)文件。
C程序的头文件以“.h”为后缀,C程序的定义文件以“.c”为后缀。
1.1.2版权和版本的声明版权和版本的声明位于头文件和定义文件的开头。
主要内容有:1.版权信息;2.文件名称,标识符,摘要;3.当前版本号,作者/修改者,完成日期;具体的定义如下:/************************************Copyright (c)**********************************-------------------------------------------------------------------------------* 文件名: ???.c* 文件描述: ???** 作者: (姓名、邮箱,QQ等)* 创建日期: 2009-12-01** 编译环境: Tornado2.0&Wind River Workbench 3.0 TOOL=diab* 硬件环境: ATMEL AT91SAM9G20 fclk=400M*-------------------------------------------------------------------------------* 初始版本: V1.0**----------------------------------修改记录-------------------------------------* 修改人: 甲乙丙丁* 修改日期: 2010.8.4* 当前版本: V1.1* 修改描述: 新增任务tidtaskTouchScreen*-------------------------------------------------------------------------------*********************************************************************************/代码区/********************************************************************************** End Of File********************************************************************************/注意:1.版权版本信息和文件信息必须出现在文件的最开始;2.其中修改者信息不止一项。
当第一位修改者修改完成后,提交到版本库时,必须填写修改者姓名、修改日期、修改的版本号以及修改描述;当第二位修改者修改后,在提交到版本库之前,也必须填写相关修改信息;3.所有文件必须以”End Of File”字样结束,文件最后空一行;4.代码区与文件头、尾信息之间各空一行。
1.1.3头文件和定义文件结构1.1.3.1头文件结构一般头文件由四部分内容组成:1.头文件开头处的版权声明和相关信息,详细规则见1.1.2;2.预处理块,定义宏的区域,必须使用以下的注释,所有定义紧跟注释之后,不得出现在别的位置;/***************************************************************************** Macros****************************************************************************/3.定义数据类型,所有数据类型紧跟注释之后,不得出现在别的位置;/***************************************************************************** Local Types****************************************************************************/4.函数声明。
对于普通函数声明,声明必须紧跟着定义的函数接口说明(参见定义文件第8部分),并且函数接口说明和定义文件中的接口说明必须是一致的。
1.1.3.2定义文件结构定义文件由八个部分组成:1.定义文件开头处版权声明和相关信息,详细规则见1.1.2;2.定义该文件包含的头文件列表,所有#include语句只能出现在以下注释之后,不得出现在别的位置;/***************************************************************************** Include Files****************************************************************************/3.定义该文件使用的常量宏,该文件使用的宏(除个别控制编译的宏)必须出现在以下注释之后,不得出现在别的位置;/***************************************************************************** Macros****************************************************************************/4.定义该文件使用的局部类型,该文件中使用的局部数据类型,必须出现在以下注释之后,不得出现在别的位置;/***************************************************************************** Local Types****************************************************************************/5.定义该文件使用的局部常量,该文件使用的常量(const定义)必须出现在以下注释之后,不得出现在别的位置;/***************************************************************************** Manifest Constant****************************************************************************/6.定义该文件使用的局部静态变量,该文件使用的静态变量(static定义)必须出现在以下注释之后,不得出现在别的位置;/***************************************************************************** Static Variables****************************************************************************/7.定义该文件使用的局部静态函数原型,该文件使用的内部函数(static定义)原型必须出现在以下注释之后,不得出现在别的位置;/***************************************************************************** Internal Function Prototypes****************************************************************************/8.定义该文件所提供的函数接口,每个函数或方法前必须加上以下注释。
/********************************************************************************** 函数名: Fuc_Demo()* 功能描述: ???* 输入参数: void* 返回值: void* 注释: 1).通过更改宏定义__USED_AS_EXHIBIT__为TRUE来调用该函数2).开机3秒后进入演示模式********************************************************************************/1.1.3.3注意事项1.如果.h文件是函数原型文件,使用宏只让其编译一次。
紧跟头文件版权版本信息之后,定义如下宏;#ifndef __大写的文件名_H__#define __大写的文件名_H__/*头文件的四个部分*/#endif /* __大写的文件名_H__ */2.不准在头文件内添加任何变量的定义;3.如果.h文件中含有的是函数的配置宏,应使用宏命令,让其只能和配对的C文件一同使用;/*这是设备配置的头文件devCfg.h*/#ifdef USE_UART_CONFIG/*定义UART设置*/#endif#ifdef USE_SPI_CONFIG/*定义SPI设置*/#endif/*这是使用uart.cpp文件,需要使用devCfg.h文件*/...#define USE_UART_CONFIG#include <devCfg.h>...1.2程序排版1.2.1概述程序的排版追求清晰、美观,是程序风格的重要构成因素,有利于代码的阅读和维护。