本文最后更新于57 天前,其中的信息可能已经过时,如有错误请发送邮件到3206482802@qq.com
#include <stdio.h>
int main()
{
int a;
int _a;
int a1;
return 0;
}
一、变量名的字符限制
- 只能包含:英文字母(a–z,A–Z)、数字(0–9)和下划线(_)。
- 不能包含:空格、中文、@、#、$、%、&、*、减号(-)等特殊符号。
示例:
int a1; // 合法 int stu_age; // 合法 int stu-age; // 非法:含减号 int 姓名; // 非法:标准 C 不允许使用中文作为标识符(且极不推荐)
二、变量名首字符限制
- 第一个字符不能是数字,只能是字母或下划线。
示例:
int 1num; // 非法:数字开头 int _num; // 合法:下划线开头(但需注意避免与系统保留名称冲突)
三、变量名不能与关键字冲突
- 关键字(如
int、signed、return等)是编译器预留的专用词,有固定语法含义,不可用作变量名。
示例:
int int; // 错误,int 是关键字 int signed; // 错误,signed 是关键字
四、变量名区分大小写
- C 语言严格区分大小写,
a与A、num与Num是完全不同的变量。
示例:
int a = 10; int A = 20; // 两个完全独立的变量
五、变量命名应有意义(见名知意)
- 避免使用无意义的单字母名称(循环中常用的
i、j、k等临时变量除外)。 - 好的命名应直接反映数据的含义。
对比:
// 差命名 int a, b; // 好命名 int age; int student_id;
两种主流命名风格:
- 下划线命名(C 语言标准推荐)
全部小写,单词之间用下划线分隔。
例如:stu_score、max_value、user_count - 小驼峰命名(C++/Java 常用,C 中较少使用)
首单词小写,后续单词首字母大写。
例如:stuScore、maxValue
六、常量命名全大写
- 用
#define定义常量时,常量名通常全部大写,单词用下划线分隔。 - 定义格式:
#define 常量名 常量值 - 常量名尽量不要以下划线开头,以免与系统库或编译器内部保留的
_开头名称冲突。
示例:
#define MAX_NUM 100 // 常量名全大写,合法且推荐 #define _MAX_NUM 100 // 不推荐:下划线开头易与系统保留名称冲突
总结速查
合法变量名示例:
c g num user_name Score1 _abc
非法变量名示例:
123g // 以数字开头 stu-name // 包含非法字符(减号) int // 与关键字冲突 a#b // 包含特殊符号 my name // 包含空格