C keywords

C keywords

这是C中的保留关键字列表。由于它们被语言使用,因此这些关键字不可用于重新定义。

auto break case char const继续默认执行double else enum extern。如果内联(自C99),则为goto浮动int长寄存器限制(由于C99)返回short。带符号的sizeof静态结构体开关typedef union unsigned void volatile while。_Alignas(自C11开始)_Alignof(自C11开始)_Atomic(自C11开始)_Bool(自C99开始)_Complex(自C99开始)_Generic开始(自C11开始)_Imaginary开始(自C11开始)_Noreturn(自C11开始)_Static_assert(自C11开始)_Thread_local 。

以下划线开始的最常见的关键字通常通过其便利的宏使用:

关键词用作定义在
_Alignas(自C11以来)alignasstdalign.h
_Alignof(自C11以来)alignofstdalign.h
_Atomic(自C11以来)atomic_bool。atomic_int,...stdatomic.h
_Bool(自C99以来)布尔stdbool.h
_Complex(自C99以来)复杂complex.h
_Generic(自C11开始)(没有宏)
_Imaginary(自C99以来)假想complex.h
_Noreturn(自C11以来)不返回的stdnoreturn.h
_Static_assert(自C11开始)static_assertASSERT.H
_Thread_local(自C11开始)thread_localthreads.h

此外,每个以双下划线__开头的名称或带有大写字母的下划线都是保留的:请参阅标识符以了解详细信息。

需要注意的是有向图<%,%>,<:,:>,%:,和%:%:以另一种方式来表示标准令牌。

以下标记在由预处理器识别当它们用于预处理器指令的上下文中:

如果elif else endif定义。ifdef ifndef定义undef。包括行错误编译指示。

当预处理器在预处理器指令的上下文之外使用时,以下标记会被预处理器识别:

| _Pragma(since C99). |

|:----|

以下附加关键字是有条件支持的:

| asm fortran. |

|:----|

参考

  • C11标准(ISO/IEC 9899:2011):

另请参阅

| 用于C ++关键字的C ++文档

|:----|