C语言从入门到精通(第6版)
上QQ阅读APP看书,第一时间看更新

3.2 标识符

C语言中,为了区分不同的变量、常量、函数、数组等,需要为其设定不同的名称,这些用于识别和区分的名称就是标识符。标识符的名称设定比较自由,开发者可以设定自己喜欢且容易理解的各类名称,但这并不意味着可以随意自由发挥。

下面介绍设定C语言标识符时应遵守的一些基本命名规则。

(1)标识符必须以字母或下画线开头,而不能以数字或者符号开头。例如:

    int $num;  /*错误,标识符第一个字符不能为符号*/
    int 2hao;  /*错误,标识符第一个字符不能为数字*/
    int num;   /*正确,标识符第一个字符为字母*/
    int _hao;  /*正确,标识符第一个字符为下画线*/

(2)标识符中,除开头外的其他字符可以由字母、下画线或数字组成。例如:

    int good_way;  /*正确,标识符中可以有下画线*/
    int bus7;      /*正确,标识符中可以有数字*/
    int car6V;     /*正确*/

(3)C语言区分大小写,也就是说,大写或小写的英文字母代表的是不同的标识符。例如,下面的代码给出了3个不同的标识符。

    int mingri;  /*全部是小写*/
    int MINGRI;  /*全部是大写*/
    int MingRi;  /*一部分是小写,一部分是大写*/

可以看出,标识符中只要有一个字符不同,其代表的就是一个新的名称。

(4)标识符不能是关键字。例如,系统使用int关键字表示整型数据类型,因此用户定义的标识符就不能再使用int,否则会提示编译错误。但将其中的某个字母改写成大写字母后,就可以通过编译。

    int int;  /*错误,int为系统关键字*/
    int Int;  /*正确,Int不再是关键字*/

(5)标识符应体现一定的功能含义,便于理解。通常采用所表述内容的英文、拼音等,这样即便是没有注释,只直观地查看代码,也能快速了解到其表述的作用及功能。

例如,定义一个长方体的长、宽和高时,如果将其简单定义为a、b、c,则没有注释的情况下会很难理解。相比之下,iLength、iWidth、iHeight这样的标识符更清晰、明了,推荐大家采用。

    int a;        /*长方体的长*/
    int b;        /*长方体的宽*/
    int c;        /*长方体的高*/
     
    int iLength;  /*长方体的长*/
    int iWidth;   /*长方体的宽*/
    int iHeight;  /*长方体的高*/
误区警示

标识符必须使用英文,是一个不精准的说法。开发环境不同,要求也不同。Visual C++ 6.0中,使用中文标识符会出现错误,但Visual Studio 2022中使用中文标识符编译器并不会报错。综合考量,最好不要使用中文写代码,以免出现不必要的错误。另外,写代码时要多写注释,养成好习惯。

(6)按照ANSI标准,最初的ANSI C规定标识符长度不准超过6个字符,但在C99之后放宽到了31个字符。一般来说,长名字能更好地表达含义,所以函数名、变量名、类名长达十几个字符也不足为怪。

注意

编写代码和定义标识符时需要注意以下方面。

(1)书写标识符时,要注意大小写的区分。

(2)书写代码时,应先调整输入状态为“英文半角输入法”。