首页 > C > 数据类型与变量 阅读:57,774

变量命名规则:匈牙利、下划线、帕斯卡

C语言里,变量的命名需要遵循一定的规范:变量名由字母和数字组成,但第一个字符必须为字母,下划线也被看做是字母。大写字母与小写字母是有区别的,比如aA是两个不同的变量名。一般大写字母组成的名字用做符号常量。

变量名不能与C编译系统中已经预定义的,具有特殊用途的关键字同名。如float,auto,break等。

一个变量的名字,一般说来,变量名或函数名应该足够长,以有效地描述所命名的变量或函数。应该避免使用短而模糊的名字,因为它们在别人理解你的程序时会带来麻烦。大多数ANSI编译程序允许有至少31个有效字符,即只有变量或函数名的前31个字符的唯一性会被检查。一种较好的经验是使函数名或变量名读起来符合英语习惯,就好象你在读一本书一样,人们应该能读懂你的函数名或变量名,并且能很容易地识别它们并知道它们的大概作用。

一般来说,一个局部变量的名字,建议使用比较短的名,而全局变量,使用比较长的名字。比如,一个用于循环的局部变量,一般用一个i来做名字就足够了。

3.11.1 匈牙利

Windows平台,变量的命名一般遵循匈牙利法则,而Unix/Linux却不推荐这种方法。也就是按照下面的规则来命名一个变量:

1Windows平台

匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述。下面是各个部分的例子:

属性部分:

全局变量 g_

常量 c_

c++类成员变量 m_

静态变量 s_

 

类型部分:

指针 p

函数 fn

无效 v

句柄 h

长整型 l

布尔 b

浮点型(有时也指文件) f

双字 dw

字符串 sz

短整型 n

双精度浮点 d

计数 c(通常用cnt

字符 ch(通常用c

整型 i(通常用n

字节 by

 w

实型 r

无符号 u

 

描述部分:

最大 Max

最小 Min

初始化 Init

临时变量 T(或Temp

源对象 Src

目的对象 Dest

比如,下面是一些实际的命名例子:

int g_nTotal = 0;

char m_chGender = ‘M’;

char* szName = NULL

BOOL bIsOpened = FALSE;

int iMyData//匈牙利

3.11.2 下划线方式命名:UNIX/Linux平台

Windows平台不同,在UNIX/Linux下,并不推荐匈牙利命名方法。在Unix/Linux平台下,命名方法如下:

不推荐大小写混用。一般标识符或函数名只由小写字母,数字和下划线构成。

变量名应该有意义,但在不失去意义的前提下,应该尽量简短。比如num_of_car就比car或者i或者this_is_the_num_of_the_car要好。

函数名应该以动词开头。比如get_prop_of_car()

3.11.3 驼峰命名

骆驼式命名法(Camel-Case)又称驼峰命名法,就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;第二个单词的首字母大写或每一个单词的首字母都采用大写字母,例如:myFirstNamemyLastName,这样的变量名看上去就像骆驼峰一样此起彼伏。

printEmployeePaychecks()//骆驼

int myData;//骆驼

string userName//骆驼

3.11.4 帕斯卡命名

帕斯卡命名法是在命名的时候将每个单词的首字母大写。单字之间不以空格断开或连接号(-)、底线(_)连结,第一个单字首字母采用大写字母;后续单字的首字母亦用大写字母,例如:FirstNameLastName。每一个单字的首字母都采用大写字母的命名格式,被称为“Pascal命名法”,源自于Pascal语言的命名惯例,也有人称之为“大驼峰式命名法”(Upper Camel Case)。

public void DisplayInfo();//帕斯卡

string UserName;//帕斯卡

int MyData;//帕斯卡

周哥教IT,分享编程知识,提高编程技能,程序员的充电站。跟着周哥一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

文章不深奥,不需要钻研,在公交、在地铁、在厕所都可以阅读。

当你决定关注「周哥教IT」,你已然超越了90%的程序员!

IT黄埔-周哥教IT技术交流QQ群:213774841,期待您的加入!

二维码
微信扫描二维码关注