2.1.2 名称:标识符
在示范程序中,首先注意到的可能是变量名比平时在数学课上使用的变量名长。为了使程序容易理解,务必为变量使用有意义的名称。变量(或者在程序中定义的其他项目)的名称叫标识符。标识符要以字母或下划线开头,其余字符必须是字母、数字或下划线。例如,下面的标识符是有效的:
- x x1 x_1 _abc ABC123z7 sum RATE count data2 Big_Bonus
编译器会接受这些标识符,但前5个标识符不太理想,它们没有表达出用途。以下标识符则是无效的,编译器拒绝接受: - 12 3x %change data-1 myfirst.c PROG.CPP
前3个之所以无效,是因为不是以字母或下划线开头。其余3个之所以无效,是因为包含了除字母、数字和下划线之外的其他符号。
C++(www.cppentry.com)是对大小写敏感的语言。也就是说,它会区别对待标识符中的大写和小写字母。因此,以下3个标识符是不同的标识符,可命名3个不同的变量:
- rate RATE Rate
但是,最好不要在同一个程序中使用两个这样的变体,因为它们容易使人混淆。尽管C++(www.cppentry.com)没有专门要求,但变量名最好全部小写。预定义标识符(比如main,cin和cout等)则必须全部小写。本章后面会讲到一些采用大写字母的标识符。
C++(www.cppentry.com)标识符长度没有限制,但有的编译器会忽略最大允许长度之后的全部字符。
标识符
标识符用于命名C++(www.cppentry.com)程序中的变量和其他元素。标识符必须以字母或下划线开头,后续每个字符只能是字母、数字或下划线。
还有一类特殊标识符,称为关键字或保留字,它们在C++(www.cppentry.com)中有预定义含义,不能用作变量或其他元素的名称。附录1列出了所有C++(www.cppentry.com)关键字。
你可能会问,为什么定义成C++(www.cppentry.com)语言一部分的其他单词未被归为关键字?cin和cout等单词为什么不是关键字?原来,程序员可以重新定义这些单词(虽然这样做容易使人混淆)。不过,这些预定义单词并非关键字,它们是在C++(www.cppentry.com)语言标准要求的库中定义的。本书后面会讨论库,目前暂时不必关心库的问题。毫无疑问,为预定义标识符赋予非标准的含义,肯定会产生误导,而且很危险,所以应该尽量避免。最安全、最简单的做法是将所有预定义标识符也视为关键字。