C语言标识符与命名规则

C 语言里的 “标识符”,说白了就是给变量、函数、数组、宏这些东西起的 “名字”—— 比如你定义一个变量存年龄,写int age;,这里的age就是标识符。但起名字不能瞎起,得按规矩来,不然编译器不认,还会报错。

一、核心规则(必须遵守,错了就报错)

  1. 只能用这几类字符标识符由「字母(a-z/A-Z)、数字(0-9)、下划线(_)」组成,别的字符(比如¥、%、@、空格)都不能用。✅ 正确例子:stu_namenum123_score❌ 错误例子:stu-name(有减号)、123num(数字开头)、a#b(有 #)
  2. 不能以数字开头可以字母或下划线开头,数字只能跟在后面。✅ 正确:age18_total❌ 错误:18age2025_score
  3. 区分大小写C 语言是 “大小写敏感” 的,比如Ageage是两个完全不同的标识符,SUMsum也不一样。
  4. 不能用关键字当标识符关键字是 C 语言 “预留的专用名字”(比如intifforwhilereturn),这些词有固定含义,绝对不能拿来当变量 / 函数名。❌ 错误例子:int int;(把关键字int当变量名)、float for;(把for当变量名)✨ 小技巧:记不住关键字?不用死背,编译器会标红报错,看到红的就换个名字。

二、命名规范(建议遵守,代码更易读)

这些不是强制规则,但写代码时遵守,自己和别人看代码都不费劲,也是行业通用习惯:
  1. 见名知意别起abx这种没意义的名字,要能从名字看出用途。✅ 好例子:student_id(学生 ID)、total_score(总分)、get_max()(获取最大值的函数)❌ 差例子:x(谁知道 x 存的是啥?)、f1(f1 是函数还是变量?)
  2. 常用命名风格(二选一,保持统一)
    • 下划线命名法(最常用):单词之间用下划线分隔,全小写,适合变量、函数。
       
      例子:user_namecalc_average()book_price
    • 驼峰命名法:第一个单词小写,后面单词首字母大写,部分场景用(比如自定义函数)。
       
      例子:userNamecalcAverage()
  3. 避免过长名字能说明意思就行,别搞几十字符的超长名,比如the_total_score_of_all_students_in_class_3,又长又难打,简化成class3_total_score就够了。
  4. 特殊场景约定
    • 下划线开头的标识符:一般用于全局变量或宏(比如_GLOBAL_NUM),普通局部变量尽量别用,避免和系统定义的标识符冲突;
    • 全大写 + 下划线:通常用于宏定义(比如#define MAX_SCORE 100),一眼就能看出是宏。

三、常见错误案例(避坑!)

错误标识符 错误原因 修正后
123abc 数字开头 abc123
abc-def 含非法字符(减号) abc_def
float 用关键字当名字 float_num
stu name 含空格 stu_name
$money 含非法字符($) money

一句话总结

标识符命名:「字符只认字母 / 数字 / 下划线,不能数字开头、不能用关键字、大小写要分清」;额外记个小原则 —— 见名知意、风格统一,代码就不会乱糟糟!
posted @ 2025-12-29 10:03  福寿螺888  阅读(12)  评论(0)    收藏  举报