1. 主页
  2. 文档
  3. C语言教程
  4. C语言变量
  5. 为什么变量名不以 C 中的数字开头?

为什么变量名不以 C 中的数字开头?

在 C 中,除了关键字之外,C 程序中的所有内容都被视为标识符。标识符可以是变量、常量、函数和用户定义数据的名称。变量名可以由字母(大写、小写)、数字 (0-9) 和 _(下划线)字符组成。但是任何变量的名称都不能以数字开头。现在我们必须知道为什么我们不能命名一个以数字开头的变量。以下可能是它的原因。编译器有7个阶段如下:

    词法分析
    语法分析
    语义分析
    中间代码生成
    代码优化
    代码生成
    符号表

在编译这段代码时,在词法分析阶段避免了回溯。像Apple;这样的变量,在词法分析阶段遇到字母’A’字符,编译器马上就知道它是一个标识符。但是,像 123apple 这样的变量;,编译器将无法确定它是数字还是标识符,直到它命中’a’并且它需要回溯才能进入词法分析阶段以识别它是一个变量。但是编译器不支持它。
当您解析令牌时,您只需查看第一个字符以确定它是标识符还是文字,然后将其发送到正确的函数进行处理。所以这是一个性能优化。

 

 

 

 

 

这篇文章对您有用吗?