news 2026/5/1 11:19:59

C语言标识符与命名规则

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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

一句话总结

标识符命名:「字符只认字母 / 数字 / 下划线,不能数字开头、不能用关键字、大小写要分清」;额外记个小原则 —— 见名知意、风格统一,代码就不会乱糟糟!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 6:09:17

拓竹科技增长逻辑拆解

导语长期以来,3D打印多被视为“极客玩具”,调试复杂、成功率低,难以走入大众生活。拓竹科技(Bambu Lab)由大疆背景团队创立,以“开箱即用”为核心,将速度、稳定性等关键体验打磨至消费电子级&am…

作者头像 李华
网站建设 2026/4/30 10:13:42

qt-通信协议基础-uint64_t转QByteArray-小端系统

示例代码 在C中&#xff0c;将uint64_t转换为QByteArray且不考虑大小端字节序的正确实现如下&#xff1a; #include <QCoreApplication> #include <QByteArray> #include <QDebug> #include <cstring> // 用于memcpyQByteArray uint64ToQByteArray(u…

作者头像 李华
网站建设 2026/4/15 12:36:07

Dockerode完整指南:如何在Node.js中轻松管理Docker容器

Dockerode完整指南&#xff1a;如何在Node.js中轻松管理Docker容器 【免费下载链接】dockerode Docker Node Dockerode (Node.js module for Dockers Remote API) 项目地址: https://gitcode.com/gh_mirrors/do/dockerode Dockerode是一个功能强大的Node.js模块&#…

作者头像 李华
网站建设 2026/5/1 9:51:38

语音克隆新纪元:5秒实现个性化AI语音的突破性技术

当你在智能客服中听到机械化的语音回复&#xff0c;或在有声内容制作中为寻找合适配音而烦恼时&#xff0c;一个技术变革正在悄然发生。基于连续空间建模的语音合成方案&#xff0c;正在重新定义我们对AI语音的期待标准。 【免费下载链接】VoxCPM-0.5B 项目地址: https://ai…

作者头像 李华
网站建设 2026/5/1 7:19:34

Jeepay支付系统监控与日志管理实战:从零搭建企业级运维体系

Jeepay支付系统监控与日志管理实战&#xff1a;从零搭建企业级运维体系 【免费下载链接】jeepay 项目地址: https://gitcode.com/gh_mirrors/xx/xxpay-master 在数字化支付时代&#xff0c;支付系统的稳定性和可靠性直接影响企业业务的连续性。Jeepay计全支付系统通过完…

作者头像 李华
网站建设 2026/5/1 9:56:56

云服务器上能安装windows 10系统吗?99% 的新手可能都不知道

很多用户问&#xff1a; “我想在阿里云上跑 Windows 软件&#xff0c;能不能直接装 Windows 10&#xff1f;” 在阿里云控制台的公共镜像里&#xff0c;确实找不到 Windows 10。 只有 Windows Server 2016、2019、2025 等服务器版本。 但这并不意味着不能用 Win10。 答案是&a…

作者头像 李华