【408】C语言标识符

在 C 语言中,标识符(Identifier)是指用来给变量、函数、数组、结构体等命名的符号。简单来说,它就是你给代码里的各种"对象"起的名字。

一、 核心语法规则

1. 三可以(允许的组成成分)
  • 只能由字母 (A-Z, a-z)、数字 (0-9)和下划线 (_)这三种字符组成。
  • 允许大小写字母混用,但 C 语言是严格区分大小写 的。例如:Age、age 和 AGE 是三个完全不同的标识符。
2. 三不可以(绝对禁止的规则)
  • 数字绝对不能作为开头 。
    例如:2b、777_num 都是非法的。
  • 绝对不能包含其他特殊字符 。
    例如空格、标点符号、减号(-)、美元符号($)等。my name(带空格)或 a-b(带减号)都是非法的。
  • 绝对不能使用 C 语言的关键字(保留字) 。
    例如:int、if、for、return、struct 等已经被系统赋予了特定含义的单词,不能用来当名字。

二、 合法与非法对比示例

标识符 是否合法 原因
score 合法 全字母,标准命名
_total 合法 下划线开头是允许的
student_1 合法 包含字母、下划线和数字,且数字不在开头
MAX_VALUE 合法 全大写,常用于宏定义
3rd_place ❌ 非法 以数字开头
user-name ❌ 非法 包含了非法字符 -(会被误认为减号)
float ❌ 非法 它是 C 语言的关键字
money$ ❌ 非法 包含了非法字符 $

三、 行业规范

  1. 见名知意 :尽量用有意义的英文单词(或缩写)命名,比如用 sum 表示总和,用 count 表示计数。避免使用 a, b, c1, c2 这种毫无意义的字符。
  2. 下划线开头的风险 :虽然语法允许下划线(如 _init)或双下划线(如 __test)开头,但不推荐初学者这样写。因为 C 语言的底层标准库和编译器常常用下划线开头的标识符作为内部变量名,自己写容易引发命名冲突。
  3. 长度限制:虽然现在的编译器对标识符长度限制很宽松,但在 C 语言早期标准中,编译器只识别前 31 个字符。为了代码的兼容性和可读性,名字不宜过长。
  4. 命名风格统一 :
    • 驼峰命名法 :studentAge(常用于变量名、函数名)
    • 下划线命名法 :student_age(常用于变量名、函数名)
    • 全大写加下划线 :MAX_LENGTH(专用于常量和宏定义)
相关推荐
ShineWinsu6 分钟前
对于JavaScript:操作元素的解析
开发语言·前端·javascript·面试·web·dom·元素
益莱储中国1 小时前
深度解析:RF 实验室从 5G迈向 6G 的过程中保持技术领先与设备升级的路径
开发语言·php
benchmark_cc2 小时前
Python 量化系统如何设计统一的数据访问接口:从策略解耦到数据层架构
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
const_qiu3 小时前
第四章 00:开篇 —— 从「会聊天」到「记得住、会干活、能协作」
java·开发语言·人工智能·python
Wang's Blog3 小时前
Java 项目实战: 交友项目 - 个人资料管理的更新接口实现与坑
java·开发语言·交友
CoderYanger3 小时前
Java EE 进阶:4.Spring Web MVC 入门(第一弹)
java·开发语言·前端·spring·面试·java-ee·mvc
估值探索者3 小时前
【Python量化选股流水线 #04】选股器好不好用?「昨日候选→今日表现」回看验收
开发语言·python·股票数据·股票数据api接口
爱喝热水的呀哈喽4 小时前
HEJIAN RESEARCH
开发语言·matlab
白露与泡影4 小时前
后端 Java 面试核心八股汇总|高频面试题 + 解析,覆盖基础到进阶
java·开发语言·面试
xifangge20255 小时前
基于 JavaScript 实现 CNC 数控切削参数与螺纹公差纯前端核算引擎
开发语言·前端·javascript