C 语言里的 “标识符”,说白了就是给变量、函数、数组、宏这些东西起的 “名字”—— 比如你定义一个变量存年龄,写int age;,这里的age就是标识符。但起名字不能瞎起,得按规矩来,不然编译器不认,还会报错。
一、核心规则(必须遵守,错了就报错)
只能用这几类字符标识符由「字母(a-z/A-Z)、数字(0-9)、下划线(_)」组成,别的字符(比如¥、%、@、空格)都不能用。✅ 正确例子:
stu_name、num123、_score❌ 错误例子:stu-name(有减号)、123num(数字开头)、a#b(有 #)不能以数字开头可以字母或下划线开头,数字只能跟在后面。✅ 正确:
age18、_total❌ 错误:18age、2025_score区分大小写C 语言是 “大小写敏感” 的,比如
Age和age是两个完全不同的标识符,SUM和sum也不一样。不能用关键字当标识符关键字是 C 语言 “预留的专用名字”(比如
int、if、for、while、return),这些词有固定含义,绝对不能拿来当变量 / 函数名。❌ 错误例子:int int;(把关键字int当变量名)、float for;(把for当变量名)✨ 小技巧:记不住关键字?不用死背,编译器会标红报错,看到红的就换个名字。
二、命名规范(建议遵守,代码更易读)
这些不是强制规则,但写代码时遵守,自己和别人看代码都不费劲,也是行业通用习惯:
见名知意别起
a、b、x这种没意义的名字,要能从名字看出用途。✅ 好例子:student_id(学生 ID)、total_score(总分)、get_max()(获取最大值的函数)❌ 差例子:x(谁知道 x 存的是啥?)、f1(f1 是函数还是变量?)常用命名风格(二选一,保持统一)
- 下划线命名法(最常用):单词之间用下划线分隔,全小写,适合变量、函数。例子:
user_name、calc_average()、book_price - 驼峰命名法:第一个单词小写,后面单词首字母大写,部分场景用(比如自定义函数)。例子:
userName、calcAverage()
- 下划线命名法(最常用):单词之间用下划线分隔,全小写,适合变量、函数。例子:
避免过长名字能说明意思就行,别搞几十字符的超长名,比如
the_total_score_of_all_students_in_class_3,又长又难打,简化成class3_total_score就够了。特殊场景约定
- 下划线开头的标识符:一般用于全局变量或宏(比如
_GLOBAL_NUM),普通局部变量尽量别用,避免和系统定义的标识符冲突; - 全大写 + 下划线:通常用于宏定义(比如
#define MAX_SCORE 100),一眼就能看出是宏。
- 下划线开头的标识符:一般用于全局变量或宏(比如
三、常见错误案例(避坑!)
| 错误标识符 | 错误原因 | 修正后 |
|---|---|---|
123abc | 数字开头 | abc123 |
abc-def | 含非法字符(减号) | abc_def |
float | 用关键字当名字 | float_num |
stu name | 含空格 | stu_name |
$money | 含非法字符($) | money |
一句话总结
标识符命名:「字符只认字母 / 数字 / 下划线,不能数字开头、不能用关键字、大小写要分清」;额外记个小原则 —— 见名知意、风格统一,代码就不会乱糟糟!