变量是通过变量名区分的,所以每个变量都应该取一个与众不同的名字。在 C语言中,给变量取名有一些特殊的规定(命名规则)(见图 1)。
在 C语言中,有一些字(英文单词)具有特定的含义(在 C语言的某个命令符中使用了等等),不能用于其他用途,也就不能用它来做变量的名字。我们称这些特殊的字为C语言的保留字,表 1 中列出了标准 C语言中所定义的保留字。
auto | double | int | struct |
---|---|---|---|
break | else | long | switch |
case | enum | register | typedef |
char | extern | return | union |
const | float | short | unsigned |
continue | for | signed | void |
default | goto | sizeof | volatile |
do | if | static | while |
除了保留字之外,C语言中还有许多字符串与保留字类似,比如 printf 和 scanf 是 C语言标准函数库中的函数名称,我们也不能用它来做变量的名字。像这些在 C语言标准函数库中已经定义并使用过的字符串我们称为 C语言的标准标识符。
除了标准标识符外,C语言允许用户自定义一些名称,比如给变量命名或者给用户自定义的函数命名等,这些由用户自定义的名称我们称为用户标识符。最常见的用户标识符就是变量名。
在 C语言中,对用户自定义标识符有如下要求(变量命名规则):
下面这些都是不合法的变量名:
另外,C语言中是严格区分大写字母与小写字母的。比如 do 是保留字,而 Do、DO、dO 就不是,因而它们三个可以用作变量名。通常情况下,C语言中的所有保留字、标准库函数名和普通标识符都只用小写字母表示,而常量名则通常用大写字母表示。