C语言关键字
C语言关键字
1. 核心特征
- 固定含义: 编译器看到这些词,就知道要做特定的事情(比如
int就是定义整数,if就是做判断)。 - 不可占用: 你不能用这些词来给你的变量、函数或数组命名。
- ❌
int if = 10;(错误!if是关键字,不能当变量名) - ✅
int my_value = 10;(正确)
- ❌
- 全部小写: C语言的所有关键字都是小写的。
VOID或If就不是关键字,可以作为变量名(虽然不建议这么做)。
2. 标准的32个关键字(C89标准)
大学考试和基础教程中,通常只要求掌握这32个。为了好记,我们可以按功能分类:
A. 数据类型类 (12个)
用来定义变量是什么“材质”的。
- 基本类型:
char,double,float,int,long,short,void - 修饰类型:
signed(有符号),unsigned(无符号) - 复杂类型:
struct(结构体),union(共用体),enum(枚举)
B. 流程控制类 (12个)
指挥程序该往哪里走。
- 循环:
for,do,while - 分支/选择:
if,else,switch,case,default - 跳转/中断:
break(跳出),continue(继续下次),return(返回),goto(跳转)
C. 存储类型与修饰类 (4个)
决定变量存在哪里,或者有什么特性。
auto(自动变量,默认的,平时很少写)static(静态变量,很重要!)extern(外部声明)register(寄存器变量,建议编译器放寄存器里)
D. 其他类 (4个)
const(定义常量,只读)sizeof(计算大小,注意:它不是函数,是关键字)typedef(给类型起别名)volatile(易变的,防止编译器过度优化,嵌入式开发中常用)
3. 容易混淆的“假关键字”
以下这些都不是关键字:
- 预处理指令:
include,define- 原因: 它们以
#开头(#include),在编译之前的“预处理”阶段就被处理掉了,编译器真正开始工作时看不到它们。
- 标准库函数:
printf,scanf,pow,main- 原因:
main是函数名,printf是库里写好的函数。虽然它们很重要,但从语法上讲,你完全可以自己写个函数叫printf(虽然会覆盖标准库的,不推荐),编译器不会报语法错误。
4. 总结图示
你可以这样记忆:
关键字 = C语言的法律条文(不可更改,不可挪用)
库函数 (
printf) = 政府提供的公共设施(通常直接用,但理论上你可以自己造一个)预处理 (
define) = 施工前的图纸批注(不属于建筑物本身)
C语言关键字
http://example.com/2026/01/13/C语言关键字/