c语言变量命名规范

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

竭诚为您提供优质文档/双击可除

c语言变量命名规范

篇一:c语言常见命名规则

c语言常见命名规则

一、概述

比较著名的命名规则首推匈牙利命名法,这种命名方法是由microsoft程序员查尔斯·西蒙尼(charlessimonyi)提出的。其主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。匈牙利命名法关键是:标识符的名字以

一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。

[例如]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;

4、全局变量加前缀“g_”,其余特殊变量类似

本章所述的命名规则主要基于下划线命名法发展而来。

单字符的名字也是常用的,如i,j,k等,它们通常可用作函数内的局部变量。

tmp常用做临时变量

名。

局部静态变量,应加s_词冠(表示static),如:

staticints_lastw;

全局变量(尤其是供外部访问的全局变量),应加g_词冠(表示global),如:

void(*g_capture_hook)(void);

二、各类命名规则

1.函数的命名

函数名使用下划线分割小写字母的方式命名:

设备名_操作名()

操作名一般采用:谓语(此时设备名作为宾语或者标明操作所属的模块)或者谓语+宾语/表语(此时设备名作为主语或者标明操作所属的模块)等形式,如:1.tic_init()

2.adc_is_busy()

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.#definetimeR2_count_RetRieVe(val)((uint16)(65535-(val)))

当然,看作接口的宏可以按照函数的命名方法命名,例如:

1.#definetimer2_clear()(tF2=0)

2.#definetimer0_is_expired()(tF0)

4.常用缩写词

原词缩写

additionadd

answerans

arrayarr

averageavg

bufferbuf或buff

capturecap或capt

checkchk

相关文档
最新文档