zerglurker的c语言教程005——命名规则

来源:互联网 发布:php中魔术常量 编辑:程序博客网 时间:2024/06/05 04:22

今天讲讲C/C++中的命名规则

命名规则或者说命名限制可以应用于函数命名、变量命名、常量命名、结构体命名、自定义类型命名以及C++中类命名、对象命名、模板类或对象命名等等

第一条:名称的第一个字符只能是字母或者下划线。

int _,_a,A1,_9;//合法int 1_a,1_,$S;//非法

注意:只有一个下划线的名称,在C/C++中是一个合法的名称!

第二条:名称中可以包含数字

第三条:名称中不能包含除了下划线、字母和数字之外的其他符号

第四条:名称是大小写敏感的

也就是说name和NAME是两个不同的名称(在数据库语言中,两者往往是等价的)

第五条:名称不能和关键字同名

比如你不能命名一个叫return的变量。(关键字的概念下节将详细说明)

隐含限制:

1 名称最好不能和系统函数、系统变量、库函数名、库提供的全局变量重名。

比如最好不要命名一个printf的函数,否则很容易在链接阶段(代码编译过程后面会涉及)出现冲突

2 main只能用于入口函数(或者说是起始函数)命名,不得用于其他函数、变量

当你违背该限制极可能导致编译器在链接阶段出现问题

另外现在编译器基本不会限制名称的长度(至少支持256字节长度的名字),但是命名长度最好不要超过32个。

因为在一些涉及单片机的开发中,老式的编译器对于超过31个长度的名字,会忽略之后的部分。

另外,在后面提到的库中,导出的名称如果过长,可能会导致链接问题

命名的建议:

1 合理的使用下划线分隔名称的各个单词

2 不建议以下划线开头命名函数和变量,因为这可能与某些系统保留名称或者变量名冲突

3 合理使用大小写来分隔名称的各个部分

4 宏名称最好一律用大写字母来命名(宏的含义后面会详解)

目前比较常用的命名规范:

匈牙利命名法  通过增加前缀来帮助人们对变量的理解

骆驼(Camel)命名法 如果一个名称由多个单词构成,则第一个单词全部小写,其后每个单词的首字母大写,其他字母小写

如果第一个单词的首字符你也大写了,嗯哼,没有关系,这是 帕斯卡(Pascal)命名法

下划线命名法 使用下划线来分隔名称中的各个部分

好了,今天就到这里了

各位可以自己在代码中尝试各种命名


0 0
原创粉丝点击