C语言中的命名规则是什么

发布时间:2022-04-01 17:24:40 作者:iii
来源:亿速云 阅读:574

本篇内容主要讲解“C语言中的命名规则是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言中的命名规则是什么”吧!

一、常见命名规则

  比较著名的命名规则,首推匈牙利命名法。这种命名方法,是由Microsoft程序员查尔斯·西蒙尼(CharlesSimonyi)提出的。其主要思想是“在变量和函数名中加入前缀,以增进人们对程序的理解”。匈牙利命名法关键是:标识符的名字,以一个或多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。例如:lpszStr,表示指向一个以‘\0’结尾字符串(sz)的长指针(1p)变量。

  骆驼(Camel)命名法,是近年来越来越流行使用的一种命名法。在许多新的函数库和Java的平台下使用得当相多。骆驼命名法,正如它的名称所表示的那样,指的是混合使用大小写字母来构成标识符的名字。其中第一个单词首字母小写,余下的单词首字母大写。例如:printEmployeePaychecks(),函数名中每一个逻辑断点都有一个大写字母来标记。

  帕斯卡(Pascal)命名法与骆驼命名法类似,只不过骆驼命名法是第一个单词首字母小写,而帕斯卡命名法则是第一个单词首字母大写。例如:DisplayInfo()和UserName都是采用了帕斯卡命名法。

  在C语言中,以帕斯卡命名法和骆驼命名法居多。事实上,很多程序设计者在实际命名时会将骆驼命名法和帕斯卡结合使用,例如变量名采用骆驼命名法,而函数采用帕斯卡命名法。

  另一种流行的命名规则,称为下划线命名法。下划线法是随着C语言的出现流行起来的,在UNIX/LIUNX这样的环境,以及GNU代码中使用非常普遍。本文所述的命名规则主要基于下划线命名法发展而来。

二、函数的命名

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

  设备名_操作名0

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

  tic_init()

  adc_is_busy()

  uarttxchar()

  中断函数的命名直接使用设备名_isr()的形式命名,如:

  timer2_isr()

三、变量的命名

  变量的命名也采用下划线分割小写字母的方式命名。命名应当准确,不引起歧义,且长度适中。如:

  intlength;

  uint32testoffset;

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

  t01384f9202887f15b8.jpg?size=540x252大图模式

  tmp常用做作时变量名。

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

  staticints_lastw;

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

  void(*g_capture_hook)(void);

四、常量及宏的命名

  采用下划线分割大写字母的方式命名,一般应以设备名作为前缀,防止模块间命名的重复。如:

  #defineTIMER0_MODE_RELOAD2

  #defineTIMER2_COUNT_RE-TRIEVE(val)((uintl6)(65536_(val)))

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

  #definetimer2_clearo(TF2=0)

  #definetimer0isexpiredO(TF0)

五、常用缩写词

  其实,没有一种命名规则可以让所有程序员赞同。而这多种命名规则也确实各有利弊。没有必要花太多的精力试图发明最好的命名规则,而是应当制定一种令大多数项目成员满意的命名规则并切实执行。标识符命名的一致性自然会体现出代码的优雅。当然,如果你的程序使用了第三方的代码,而这些模块经验证确实是正确无误的,那么也没有必要一味追求命名的一致性,而去修改这些已经定型的模块中的函数和变量名。

到此,相信大家对“C语言中的命名规则是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. css中id选择器的命名规则是什么
  2. python的命名规则是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c语言

上一篇:C语言中如何利用软件代替Mutex互斥锁

下一篇:JUnit5基础入门实例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》