C语言的标识符一般应遵循如下的命名规则:
1、标识符必须以字母a~z、A~Z或下划线开头,后面可跟任意个(可为0)字符,这些字符可以是字母、下划线和数字,其他字符不允许出现在标识符中。
2、标识符区分大小写字母。
3、标识符的长度,c89规定31个字符以内,c99规定63个字符以内。
4、C语言中的关键字,有特殊意义,不能作为标识符。
5、自定义标识符最好取具有一定意义的字符串,便于记忆和理解。
常见命名规则
比较著名的命名规则,首推匈牙利命名法。这种命名方法,是由Microsoft程序员查尔斯·西蒙尼(Charles Simonyi)提出的。其主要思想是“在变量和函数名中加入前缀,以增进人们对程序的理解”。
匈牙利命名法关键是:标识符的名字,以一个或多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。例如:lpszStr,表示指向一个以\0结尾字符串(sz)的长指针(1p)变量。
在定义变量时,变量名可以是字母、数字和下划线的组合。但是也不是随便的组合,要注意以下几个命名规则:1) 变量名的开头必须是字母或下划线,不能是数字。实际编程中最常用的是以字母开头,而以下划线开头的变量名是系统专用的。
变量名由a-z,A-Z,0-9,_(大小写字母,数字,下划线)组成,并且开头不能为0-9(数字)变量命名方面流行的有以下几种:
一、匈牙利命名法
这种命名法的出发点是把变量名按:属性+类型+对象描述的顺序组合起来,以使程序员作变量时对变量的类型和其它属性有直观的了解,下面是HN变量命名规范。
属性部分:
g_ 全局变量
c_ 常量
m_ c++类成员变量
s_ 静态变量
类型部分:
数组 a
指针 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
举例:
hwnd : h 是类型描述,表示句柄, wnd 是变量对象描述,表示窗口,所以 hwnd 表示窗口句柄;
pfnEatApple : pfn 是类型描述,表示指向函数的指针, EatApple 是变量对象描述,所以它表示指向 EatApple 函数的函数指针变量。
g_cch : g_ 是属性描述,表示全局变量,c 和 ch 分别是计数类型和字符类型,一起表示变量类型,这里忽略了对象描述,所以它表示一个对字符进行计数的全局变量。
上面就是HN命名法的一般规则。
二、驼峰命名法
驼峰命名法的中心点在于每个单词的开头大写,而驼峰命名法又可分为大驼峰和小驼峰,大驼峰表示所有单词开头都大写,小驼峰表示第一个单词开头小写,后面的单词开头大写
大驼峰:EatSimpleApple
小驼峰:eatSimpleApple
一般大驼峰用于函数命名,小驼峰用于变量命名
当出现缩写(如IP)时,如果缩写在开头,则若为大驼峰则全部大写,小驼峰则全部小写,若不在开头,则全部大写
大驼峰:IPAddIP
小驼峰:ipAddIP
不过也有将缩写看作一般单词的写法:
大驼峰:IpAddIp
小驼峰:ipAddIp
三、帕斯卡命名法
帕斯卡命名法是指每个单词之间用下划线隔开,每个单词都小写(缩写也一样)
示例:eat_simple_apple
示例:ip_add_ip