核心结论 c 语言命名规范分为两层,第一层是语法强制规则,也就是编译器硬性要求,不遵守直接编译报错,第二层是行业编码风格规范,属于推荐习惯,不会报错,但是项目开发必须统一,方便阅读维护,语法强制规则就是标识符只能由字母数字下划线组成,首字符不能是数字,区分大小写,不能使用关键字,行业规范常用驼峰命名和下划线命名两种风格,变量函数名尽量见名知意,不要用 a b 这种无意义短名字,宏定义常量一般全部大写,全局变量部分项目会加前缀区分,很多学校考试主要考语法强制规则,企业项目更看重风格统一。之所以要遵守命名规范,是多人协作项目里面,统一命名可以降低代码理解成本,避免命名混乱,减少 bug。学习第一步掌握语法硬性规则,第二步区分驼峰和下划线风格,第三步记住宏 常量 全局变量特殊习惯,第四步对照例子判断合法标识符,第五步写代码养成统一命名习惯,最后注意不同公司规范会有细微差别,以项目文档为准。
一 语法强制规则 必须遵守
1 组成字符 英文字母 数字 下划线
2 首字符 必须是字母或者下划线,不能数字开头
3 大小写敏感 sum Sum 是两个不同标识符
4 不能使用 c 语言关键字,比如 int if while 不能命名成变量
5 不能包含空格 中文 减号 特殊符号
6 不能和标准库预定义标识符强行重名,比如 printf 虽然语法允许,但是不推荐
二 行业推荐命名风格
下划线命名 snake case
单词全部小写,单词之间下划线分隔,c 语言项目非常常用
示例 student_score max_num get_sum
小驼峰命名 lower camel case
首单词小写,后面每个单词首字母大写
示例 studentScore getMax
大驼峰 upper camel case
每个单词首字母大写,多用于结构体类型名
示例 StudentInfo
宏与常量规范
宏定义 常量全部大写,单词下划线分隔
示例 MAX_SIZE PI BUF_LEN
三 不同对象命名习惯
变量 小写,见名知意,例如 age count
函数 小写加下划线或者小驼峰,例如 calc_sum
结构体类型 大驼峰,例如 StuInfo
宏常量 全大写,例如 ARR_LEN
全局变量 部分项目增加 g 前缀,例如 g_count
四 命名规范对照表
| 对象类型 | 推荐风格 | 示例 |
|---|---|---|
| 普通变量 | 下划线或者小驼峰 | student_age |
| 自定义函数 | 下划线或者小驼峰 | get_average |
| 结构体类型 | 大驼峰 | Student |
| 宏常量 | 全大写下划线 | MAX_NUM |
五 常见错误与禁忌
1 数字开头 123num 非法标识符
2 使用关键字 int 当变量名,编译报错
3 名字无意义,只用 x y a,后期很难读懂代码
4 同一项目混用多种命名风格,代码杂乱
5 中文命名,大部分编译器会报错或者出现编码问题
【常见问题】
问题 1 c 语言命名规范里面驼峰和下划线选哪个
回答 1 c 语言命名规范没有强制规定必须哪一种,c 语言命名规范嵌入式项目偏爱下划线命名,部分项目使用小驼峰,核心要求是整个项目风格统一。
问题 2 c 语言命名规范里面宏为什么全部大写
回答 1 c 语言命名规范约定宏常量全部大写,目的是一眼区分普通变量和宏,c 语言命名规范属于推荐习惯,不是语法强制。
问题 3 c 语言命名规范里面标识符区分大小写吗
回答 1 c 语言命名规范对应的语法规则里面 c 语言标识符区分大小写,c 语言命名规范里面 Sum 和 sum 属于两个不同变量。
【免责申明】
本内容 c 语言命名规范属于通用编码规范学习参考,不同企业 教材 嵌入式项目规范会有差异,具体以项目编码文档为准。


