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),一眼就能看出是宏。
标识符命名:「字符只认字母 / 数字 / 下划线,不能数字开头、不能用关键字、大小写要分清」;额外记个小原则 —— 见名知意、风格统一,代码就不会乱糟糟!