C 关键字
预计时间: 5分钟
C89/C99/C11 Keywords
关键字是编程中使用的预定义保留字,对编译器具有特殊含义。 关键字是语法的一部分,不能用作标识符。 由于 C 是区分大小写的语言,因此所有关键字都必须小写。
C89关键字
C89标准有32个保留字,也称为关键字,这些字不能用于预定义之外的任何目的:
序号 | 关键字 | 描述 |
---|---|---|
1 | auto | 给局部变量局部寿命 |
2 | break | 退出复合语句 |
3 | case | switch 语句的一个分支 |
4 | char | 数据类型:字符型 |
5 | const | 创建一个不可修改的变量 |
6 | continue | 继续从循环顶部运行代码 |
7 | default | switch 语句的默认分支 |
8 | do | 开始一个 do-while 循环 |
9 | double | 数据类型:双精度浮点型 |
10 | else | if 语句的 else 分支 |
11 | enum | 定义一组 int 常量 |
12 | extern | 声明一个标识符是外部定义的 |
13 | float | 数据类型:浮点型 |
14 | for | 开始一个 for 循环 |
15 | goto | 跳到某个标签 |
16 | if | if 语句的开始 |
17 | int | 数据类型:整型 |
18 | long | 数据类型:长整型 |
19 | register | 声明一个变量,令其存储在 CPU 寄存器中 |
20 | return | 从函数中返回 |
21 | short | 数据类型:短整型 |
22 | signed | 表示整数类型的有符号修饰符 |
23 | sizeof | 确定数据的大小 |
24 | static | 在作用域退出后依然保留变量值 |
25 | struct | 将多个变量合并到一条记录中 |
26 | switch | 开始一个 switch 语句 |
27 | typedef | 创建一个新类型 |
28 | union | 开始一个 union 语句 |
29 | unsigned | 表示整数类型的无符号修饰符 |
30 | void | 声明数据类型为空 |
31 | volatile | 声明变量可能会在别处被改动 |
32 | while | 开始一个 while 循环 |
C99 关键字
C99 追加五个关键字
序号 | 关键字 | 描述 |
---|---|---|
1 | _Bool | 数据类型:布尔类型 |
2 | _Complex | 数据类型:复数类型 |
3 | _Imaginary | 数据类型:虚数类型 |
4 | inline | 声明内联函数 |
5 | restrict | 指针修饰符 |
C11 关键字
C11 追加七个保留字
序号 | 关键字 | 描述 |
---|---|---|
1 | _Alignas | |
2 | _Alignof | |
3 | _Atomic | |
4 | _Generic | |
5 | _Noreturn | |
6 | _Static_assert | |
7 | _Thread_local |
大多数最近保留的字都以下划线开头,后跟大写字母,因为这种形式的标识符以前由 C 标准保留,仅供实现使用。
字符集
字符集是一组字母、字母和一些在 C 语言中有效的特殊字符。
字母表
大写:ABCDEFGHIJKLMNOPQRSTUVWXYZ
小写:abcdefghijklmnopqrstuvwxyz
C 接受小写和大写字母作为变量和函数。
数字
0 1 2 3 4 5 6 7 8 9
特殊字符
, | < | > | . | _ |
---|---|---|---|---|
( | ) | ; | $ | : |
% | [ | ] | # | ? |
' | & | { | } | " |
^ | ! | * | / | | |
- | \ | ~ | + |
空白字符
空格、换行符、水平制表符、回车和换页。
C 标识符
标识符是指赋予实体的名称,例如变量、函数、结构等。
标识符必须是唯一的。创建它们是为了给实体一个唯一的名称,以便在程序执行期间识别它。例如:
int money;
double accountBalance;
这里,money 和 accountBalance 是标识符。
还要记住,标识符名称必须与关键字不同。您不能int
用作标识符,因为int
它是关键字。
命名标识符的规则
- 有效的标识符可以包含字母(大写和小写字母)、数字和下划线。
- 标识符的第一个字母应该是字母或下划线。
- 不能使用诸如
int
和while
等关键字作为标识符。 - 标识符的长度没有规定。但是,如果标识符超过 31 个字符,可能会在某些编译器中遇到问题。
可以选择任何名称作为标识符,但是通常给标识符赋予有意义的名称。
最后更新时间为2021年03月29日