首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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以来)

alignas

stdalign.h

_Alignof(自C11以来)

alignof

stdalign.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_assert

ASSERT.H

_Thread_local(自C11开始)

thread_local

threads.h

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

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

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

如果elif else endif定义。

ifdef ifndef定义undef。

包括行错误编译指示。

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

| _Pragma(since C99). |

|:----|

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

| asm fortran. |

|:----|

参考

  • C11标准(ISO/IEC 9899:2011):
    • 6.4.1关键字(p: 58-59)
  • C99标准(ISO/IEC 9899:1999):
    • 6.4.1关键字(p: 50)
  • C89 / C90标准(ISO/IEC 9899:1990):
    • 3.1.1关键词

另请参阅

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

|:----|

扫码关注腾讯云开发者

领取腾讯云代金券