C语言的关键字是C语言编译器事先定义的、具有特定意义的标识符,它们用于构成C语言程序的基本框架。根据关键字的作用,可以将这些关键字分为不同的类别,包括数据类型关键字、流程控制关键字、存储类型关键字和其他关键字。
数据类型关键字
`void`:声明函数无返回值或无参数,声明无类型指针。
`char`:字符型数据。
`int`:整型数据。
`float`:单精度浮点数据。
`double`:双精度浮点数据。
`short`:短整型数据。
`long`:长整型数据。
`signed`:有符号整型数据。
`unsigned`:无符号整型数据。
`_Bool`:布尔型(C99标准新增)。
`_Complex`:复数的基本类型(C99标准新增)。
`_Imaginary`:虚数(C99标准新增)。
`_Generic`:提供重载的接口入口(C11标准新增)。
流程控制关键字
`if`:条件语句。
`else`:条件语句否定分支。
`for`:循环语句。
`while`:循环语句。
`do...while`:循环语句。
`switch`:开关语句。
`case`:开关语句中的分支标记。
`default`:开关语句中的“其他”分支。
`break`:跳出当前循环或switch结构。
`continue`:结束当前循环,开始下一轮循环。
`goto`:无条件跳转语句。
存储级别关键字
`auto`:自动变量,由编译器自动分配及释放。
`static`:静态变量,分配在静态变量区。
`register`:寄存器变量,建议编译器将变量存储到寄存器中使用。
`extern`:外部变量,即标示变量或者函数的定义在别的文件中。
`const`:常量,声明变量不可被修改。
`volatile`:易变变量,值可能会被系统或其他线程改变。
其他关键字
`typedef`:声明类型别名。
`sizeof`:获取类型或变量的大小。
`inline`:内联函数。
`restrict`:限定和约束指针。
这些关键字是C语言的基础,程序员必须了解它们的含义,才能编写出正确的程序。同时,由于这些关键字具有特殊含义,所以不能将它们用作变量名或自定义标识符,否则会导致编译错误。