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

📅  最后修改于: 2021-05-25 23:34:46             🧑  作者: Mango

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

Lexical Analysis
    Syntax Analysis
    Semantic Analysis
    Intermediate Code Generation
    Code Optimization
    Code Generation
    Symbol Table

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

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。