好,这一块是 C 语言入门的“地基”,也是考试和面试经常考的基础点。
我按 概念 → 规则 → 分类 → 示例 → 常见错误 给你一篇清晰好记的说明。
【C语言】关键字与用户标识符
一、什么是关键字(Keyword)
1️⃣ 定义
关键字是 C 语言中已经被系统“预留”的单词,具有固定语义,不能作为变量名使用。
👉 关键字是 语言的一部分,由编译器识别。
2️⃣ 常见 C 语言关键字(C99)
auto break case char
const continue default do
double else enum extern
float for goto if
inline int long register
restrict return short signed
sizeof static struct switch
typedef union unsigned void
volatile while
📌 关键字全部是小写,区分大小写
3️⃣ 关键字特点
- 有特殊含义
- 不能重定义
- 不能作为标识符
- 编译器直接识别
❌ 错误示例:
int int = 5; // 错误:int 是关键字
二、什么是用户标识符(Identifier)
1️⃣ 定义
用户标识符是程序员自己定义的名字,用来标识变量、函数、数组、结构体等。
例如:
int age;
float total_score;
int add(int a, int b);
2️⃣ 标识符的命名规则(必考)
✅ 合法规则:
- 只能由 字母、数字、下划线 组成
- 不能以数字开头
- 不能是关键字
- 区分大小写
❌ 非法示例:
int 2num; // 错:数字开头
int total-1; // 错:非法字符
int for; // 错:关键字
三、关键字 vs 用户标识符对比
| 对比项 | 关键字 | 用户标识符 |
|---|---|---|
| 定义者 | 语言 | 程序员 |
| 含义 | 固定 | 自定义 |
| 是否可修改 | ❌ | ✅ |
| 使用范围 | 语法结构 | 变量 / 函数等 |
四、标识符命名规范(强烈建议)
虽然编译器不强制,但工程中非常重要:
1️⃣ 变量 / 函数
int total_count;
float avg_score;
👉 小写 + 下划线(snake_case)
2️⃣ 常量
#define MAX_SIZE 100
👉 全大写
3️⃣ 结构体
struct student_info {
int id;
char name[20];
};
五、关键字常见分类(理解用)
1️⃣ 数据类型
int char float double void
2️⃣ 控制语句
if else switch case for while do break continue
3️⃣ 存储类别
auto static extern register
4️⃣ 其他
sizeof typedef struct union enum
六、常见新手错误(必看)
❌ 1. 用拼音当标识符
int chengji; // 不推荐
❌ 2. 标识符与关键字“撞名”
int Int; // 合法,但极不推荐
❌ 3. 名字太随意
int a, b, c; // 可读性差
七、面试 / 考试常见问法
Q1:关键字和标识符的区别?
关键字是系统保留字,有固定含义;标识符由用户定义,用于命名变量、函数等。
Q2:以下哪些是合法标识符?
_count 2num for sum_1
✔ 合法:_count, sum_1
八、一句话总结(背这个)
关键字是 C 语言保留字,不能作为名字;用户标识符是程序员自定义的名称,需遵循命名规则。
如果你愿意,我可以继续帮你:
- 🔥 C 语言所有关键字记忆口诀
- 🔥 标识符命名与工程规范
- 🔥 考试易混点专项练习
- 🔥 C 语言基础到进阶完整路线
你是 刚学 C,还是 准备期末 / 考试?