c语言关键字

154 阅读3分钟

C 语言的关键字(也叫保留字)是预先定义好的、具有特殊含义的标识符,用户不能将其用作变量名、函数名等自定义标识符。C 语言标准(C89/C99/C11/C17)定义的关键字数量和范围略有扩展,以下按功能分类整理,并说明核心特性:

一、核心关键字(C89 基础版,共 32 个)

1. 数据类型相关(12 个)

关键字用途说明示例
char字符型(1 字节)char c = 'a';
short短整型(2 字节)short s = 10;
int整型(4 字节,依平台)int num = 100;
long长整型(4/8 字节)long l = 123456L;
float单精度浮点型float f = 3.14f;
double双精度浮点型double d = 3.14159;
void无类型(函数返回 / 指针)void func();
signed有符号类型(默认)signed int a = -5;
unsigned无符号类型unsigned int b = 5;
enum枚举类型enum Color {RED, GREEN};
struct结构体类型struct Student {char name[20];};
union共用体(联合体)union Data {int i; char c;};

2. 存储类说明(5 个)

关键字用途说明示例
auto自动变量(栈存储,默认)auto int x = 1;
register寄存器变量(建议 CPU 寄存器存储)register int cnt = 0;
static静态变量(全局 / 局部静态)static int count = 0;
extern外部变量 / 函数声明extern int global_var;
const只读变量(不可修改)const int MAX = 100;

3. 控制语句相关(12 个)

(1)分支 / 条件
关键字用途说明示例
if条件判断if (num > 0) {...}
elseif 的分支else {...}
switch多分支选择switch (n) {case 1: ...;}
caseswitch 分支标签case 2: break;
defaultswitch 默认分支default: ...;
(2)循环
关键字用途说明示例
for循环语句for (int i=0; i<10; i++) {...}
while循环语句(先判断后执行)while (i < 10) {...}
do循环语句(先执行后判断)do {...} while (i < 10);
(3)跳转 / 终止
关键字用途说明示例
break跳出循环 /switchbreak;
continue跳过本次循环剩余部分continue;
goto无条件跳转(慎用)goto end;

4. 函数 / 返回(1 个)

关键字用途说明示例
return函数返回值return 0;

5. 类型修饰(2 个)

关键字用途说明示例
sizeof计算类型 / 变量所占字节数int size = sizeof(int);
typedef类型重命名typedef int INT; INT a = 10;

二、C99 新增关键字(9 个)

关键字用途说明示例
_Bool布尔类型(true/false)_Bool flag = 1;
_Complex复数类型_Complex double c;
_Imaginary虚数类型_Imaginary float f;
inline内联函数(减少函数调用开销)inline int add(int a, int b) {return a+b;}
restrict指针限制(唯一访问该内存)int *restrict p = malloc(4);
_Alignas内存对齐指定_Alignas(8) int a;
_Alignof获取类型对齐值size_t s = _Alignof(int);
_Static_assert编译期断言_Static_assert(1==1, "error");
volatile易变类型(防止编译器优化)volatile int flag = 0;

三、C11 新增关键字(1 个)

关键字用途说明示例
_Noreturn声明函数无返回(如 exit)_Noreturn void func() {exit(1);}