C语言变量命名规则

变量是通过变量名区分的,所以每个变量都应该取一个与众不同的名字。在 C语言中,给变量取名有一些特殊的规定(命名规则)(见图 1)。

变量命名的基本规则
图 1:变量命名的基本规则

在 C语言中,有一些字(英文单词)具有特定的含义(在 C语言的某个命令符中使用了等等),不能用于其他用途,也就不能用它来做变量的名字。我们称这些特殊的字为C语言的保留字,表 1 中列出了标准 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语言中,对用户自定义标识符有如下要求(变量命名规则):
  • 只能是字母、数字或_(下划线)的组合;
  • 不能以数字开头;
  • 不能和保留字同名。

下面这些都是不合法的变量名:
  • 86Count(不合法原因:以数字开头)
  • my name(不合法原因:包含空格)
  • you*Age(不合法原因:包含特殊字符*)
  • user's(不合法原因:包含特殊字符‘)
  • int(不合法原因:C语言保留字)

另外,C语言中是严格区分大写字母与小写字母的。比如 do 是保留字,而 Do、DO、dO 就不是,因而它们三个可以用作变量名。通常情况下,C语言中的所有保留字、标准库函数名和普通标识符都只用小写字母表示,而常量名则通常用大写字母表示。

总结

  1. C语言的保留字不能用作变量名。
  2. C语言中是严格区分大写字母与小写字母的。