03. 关键字与保留字

一、关键字和保留标识符

  关键字 就是被 C 语言赋予了特定含义的英文单词,它们不能被作为标识符来使用。在 C 语言中所有关键字都是全部小写的。在 C 语言中,许多关键字用来指定不同的类型,例如 int。还有一些关键字(如,if)用来控制程序中的执行顺序。在下表中 C 语言列出的关键字中,粗体表示的是 C90 标准新增的关键字,斜体表示 C99 标准新增的关键字,粗斜体表示的是 C11 标准新增的关键字。

auto extern short while
break float signed _Alignas
case for sizeof _Alignof
char goto static _Atomic
const if struct _Bool
continue inline switch _Complex
default int typedef _Generic
do long union _Imaginary
double register unsighed _Noreturn
else restrict void _Static_assert
enum return volatile _Thread_local

  如果关键字使用不当(如,用关键字作为变量名),编译器会将其视为语法错误。还有一些保留标识符(reserved identifier),C 语言已经指定了它们的用途或保留它们的使用权,如果你使用这些标识符来表示其它意思会导致一些问题。因此,尽管它们也是有效的名称,不会引起语法错误,也不能随便使用。保留标识符包括那些以下划线开头的标识符和标准库函数名,如 printf()。

二、有关数据类型的关键字

关键字 含义
char 声明字符型变量或者函数,属于整型数据的一种
short 修饰 int,声明短整型变量或函数,可省略被修饰的int
int 声明整型变量或者函数,通常为编译器指定的机器字长
long 修饰 int,声明长整型变量或者函数,可省略被修饰的int
float 声明单精度浮点型变量或函数
double 声明双精度浮点型变量或函数
unsigned 修饰整型数据,声明无符号类型变量或函数
signed 修饰整型变量,声明有符号类型变量或函数
struct 声明结构体变量或函数
union 声明共用体数据类型
enum 声明枚举类型
void 声明函数无返回值或无参数,声明无类型指针

三、有关控制语句的关键字

关键字 含义
if 条件语句
else 条件语句否定分支(与 if 连用)
switch 用于开关语句
case 开关语句分支
default 开关语句中的 “默认”分支,可选结构
for for 循环语句
do do...while 循环结构的循环体
while do...while 或 while 循环结构的循环条件
break 跳出当前循环或 switch 分支结构
continue 结束当前循环,开始下一轮循环
goto 无条件跳转语句
return 子程序/函数体返回语句(可以带参数,也可以不带参数)

四、有关存储类型的关键字

关键字 含义
auto 声明自动变量,有编译器自动分配和释放(通常在栈上分配)
extern 指定变量为外部变量,即在其它文件中声明
register 声明寄存器变量,建议编译器将变量存储到寄存器中
static 声明静态变量,分配在静态变量区,修饰函数时用于限定作用域
const 声明只读变量

五、其它关键字

关键字 含义
sizeof 计算数据类型长度
typeof 用以给数据类型取别名
volatile 说明变量在程序执行中可被隐含地改变
posted @ 2023-02-17 12:53  星光映梦  阅读(111)  评论(0编辑  收藏  举报