- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
C语言常见命名规则
一、概述
比较著名的命名规则首推匈牙利命名法,这种命名方法是由Microsoft程序员查尔斯·西蒙尼(Charles
Simonyi)提出的。其主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。匈牙利
命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的
一个单词或多个单词组合,该单词要指明变量的用途。
[例如]lpszStr,表示指向一个以\0结尾的字符串(sz)的长指针(lp)变量。
骆驼(Camel)命名法近年来越来越流行,在许多新的函数库和Java这样的平台下使用得当相多。
骆驼命名法,正如它的名称所表示的那样,指的是混合使用大小写字母来构成标识符的名字。其中
第一个单词首字母小写,余下的单词首字母大写。
[例如]printEmployeePaychecks(),函数名中每一个逻辑断点都有一个大写字母来标记。
帕斯卡(Pascal)命名法与骆驼命名法类似。只不过骆驼命名法是第一个单词首字母小写,而帕斯
卡命名法则是第一个单词首字母大写。
[例如]DisplayInfo()和UserName都是采用了帕斯卡命名法。
在C#中,以帕斯卡命名法和骆驼命名法居多。
事实上,很多程序设计者在实际命名时会将骆驼命名法和帕斯卡结合使用,例如变量名采用骆驼命
名法,而函数采用帕斯卡命名法。
另一种流行的命名规则称为下划线命名法。
下划线法是随着C语言的出现流行起来的,在UNIX/LIUNX这样的环境,以及GNU代码中使用非
常普遍。
1、常量名用大写,太长时用下划线隔开:
1.#defineMAX
2.#defineINCREMENT_SIZE
2、变量名采用小驼峰形式书写:
1.intfirst
2.floatnewElem
3、函数名、结构名和联合名采用大驼峰形式书写:
1.voidClearList(List*L)
2.{
3.….
4.}
5.intPutElem(intelem)
6.{
7.….
8.}
9.typedefstructLinkNode
10.{
11.intdata;
12.structLinkNode*next;
13.}*LinkPoint;
1
4、全局变量加前缀“g_”,其余特殊变量类似
本章所述的命名规则主要基于下划线命名法发展而来。
二、各类命名规则
1.函数的命名
函数名使用下划线分割小写字母的方式命名:
设备名_操作名()
操作名一般采用:谓语(此时设备名作为宾语或者标明操作所属的模块)或者谓语+宾语/表语
(此时设备名作为主语或者标明操作所属的模块)等形式,如:
1.tic_init()
2.adc_is_busy()
3.uart_tx_char()
中断函数的命名直接使用设备名_isr()的形式命名,如:
1.timer2_isr()
2.变量的命名
变量的命名也采用下划线分割小写字母的方式命名。命名应当准确,不引起歧义,且长度适中。
如:
1.intlength;
2.uint32test_offset;
单字符的名字也是常用的,如i,j,k等,它们通常可用作函数内的局部变量。
tmp常用做临时变量名。
局部静态变量,应加s_词冠(表示static),如:
1.staticints_lastw;
全局变量(尤其是供外部访问的全局变量),应加g_词冠(表示global),如:
1.void(*g_capture_hook)(void);
3.常量及宏的命名
采用下划线分割大写字母的方式命名,一般应以设备名作为前缀,防止模块间命名的重复。如:
1.#defineTIMER0_MODE_RELOAD2
2.#defineTIM
文档评论(0)