在 C 语言中,标识符指的是变量、函数、数组、结构体、联合体、枚举、宏定义等的名称。
C 标识符是什么?
初学的小伙伴肯定会有这样一个疑问:“C 语言中的 “标识符” 是什么来的?它和 “变量名” 之间有什么区别呢?”
实际上,变量名只是变量的名字,而标识符是变量名、函数名、数组名等的统称。换一句话来说,标识符这个概念是包含变量名的。

C 标识符的命名
在 C 语言中,标识符的命名与之前介绍的变量的命名类似,应该遵循以下规则。
- 标识符由英文字母、数字或下划线组成,并且第一个字符必须是字母或下划线。
- 标识符不能是 C 语言中的关键字。
- 标识符严格区分大小写。
- 长度不应超过 31 个字符。
对于第 1 条,标识符只可以包含英文字母(大写小写都行)、数字、下划线(_),而不能包含除了这 3 种之外的其他字符(如 %、-、*、/、$ 等)。这是因为其他很多字符,C 语言都给它们分配了特定的功能,比如 “-” 就是减号,“/” 就是除号,“*” 就是乘号等。
对于第 2 条,C 语言关键字指的是 C 语言本身 “已经在使用” 的名字。因此我们在给变量命名的时候,是不能使用这些名字的(因为系统要用)。想要知道 C 语言关键字都有哪些,另请参阅:C 关键字。
对于第 3 条,C 语言严格区分大小写,比如 year 和 Year 就是 2 个不同的标识符。
对于第 4 条。虽然现代编译器支持非常长的标识符,但为了代码的可读性,建议标识符的长度控制在合理范围内(如 31 个字符以内),毕竟谁也不想读一个占满半个屏幕的变量名。
此外,虽然任何名称都可以作为标识符,但在取名时尽量取有意义的名字,让人一眼看懂该标识符代表的是什么,这样可以大大提高代码的可读性和可维护性。
| 名称 | 是否正确 | 分析 |
|---|---|---|
| count | √ | 由字母组成,符合规则 |
| _value | √ | 以下划线开头,符合规则 |
| StudentAge | √ | 驼峰命名法,符合规则 |
| my_name | √ | 使用下划线连接单词,符合规则 |
| 2days | × | 不能以 “数字” 开头 |
| student-age | × | 不能包含 “减号(-)”,只能用下划线 |
| int | × | 不能使用 “C 语言关键字” |
| total$ | × | 包含了非法字符 “$” |
| my name | × | 标识符中间不能包含 “空格” |
C 标识符的最佳实践
在使用 C 标识符时,我们应该遵循以下最佳实践:
- 使用具有描述性的名称:标识符的名称应该清晰地表达其用途。例如,使用 studentAge 而不是 age,使用 calculateSum 而不是 calc。
- 遵循一致的命名约定:可以选择驼峰命名法(如 studentName)或下划线命名法(如 student_name),并在整个项目中保持一致。
- 避免使用容易混淆的字符: 比如避免使用小写字母 l 和数字 1,因为它们看起来非常相似。
