C 语言中的关键字又称保留字,它们只能用于预定义的目的,而不能用于任何其它目的。
C89
C89 中包含 32 个关键字:
C99
C99 中包含 37 个关键字(粗体蓝色部分是新增关键字(+5)):
C11/C17
C11/C17 中包含 44 个关键字(粗体蓝色部分是新增关键字(+7)):
C23
C23 计划于 2024 年发布,其中包含 54 个关键字(粗体蓝色部分是新增关键字(+15),带删除线的粗体橙色部分是删除的关键字(-5)):
示例
当使用不存在或尚不支持的关键字时,编译器会发出警告。例如,下面的示例代码中使用到了关键字 _Bool。由于该关键字是 C99 及以后标准中出现的,因此如果使用 C89 标准进行编译的话,编译器会发出警告。
int main()
{
_Bool b = 1;
if (b) return 1;
else return 0;
}
$ gcc -std=c89 -pedantic -c -Wall -g -o bool.o bool.c
warning: ISO C90 does not support boolean types [-Wpedantic]
_Bool b = 1;
^