C关键词

来自cppreference.com
< c

这是C中保留的关键词列表。因为它们为语言所使用,故这些关键词不可以重定义。

auto
break
case
char
const
continue
default
do
double
else
enum
extern

float
for
goto
if
inline (C99起)
int
long
register
restrict (C99起)
return
short

signed
sizeof
static
struct
switch
typedef
union
unsigned
void
volatile
while

_Alignas (C11起)
_Alignof (C11起)
_Atomic (C11起)
_Bool (C99起)
_Complex (C99起)
_Generic (C11起)
_Imaginary (C99起)
_Noreturn (C11起)
_Static_assert (C11起)
_Thread_local (C11起)

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

关键词 用作 定义于
_Alignas (C11起) alignas stdalign.h
_Alignof (C11起) alignof stdalign.h
_Atomic (C11起) atomic_bool. atomic_int, ... stdatomic.h
_Bool (C99起) bool stdbool.h
_Complex (C99起) complex complex.h
_Generic (C11起) (无宏)
_Imaginary (C99起) imaginary complex.h
_Noreturn (C11起) noreturn stdnoreturn.h
_Static_assert (C11起) static_assert assert.h
_Thread_local (C11起) thread_local threads.h

而且,每个以双下划线__或单下划线跟随大写字母为首的名称是保留的:细节参阅标识符

注意合字符<%%><::>%:以及%:%:提供另一种表示标准记号的方式

下列记号在用于预处理器指令语境之内时,为预处理器所识别:

if
elif
else
endif
defined

ifdef
ifndef
define
undef

include
line
error
pragma

下列记号用于预处理器指令的语境之外时,为预处理器所识别:

_Pragma(C99起)

下列附加关键词是条件性支持的:

asm
fortran

[编辑] 参考

  • C11 standard (ISO/IEC 9899:2011):
  • 6.4.1 Keywords (p: 58-59)
  • C99 standard (ISO/IEC 9899:1999):
  • 6.4.1 Keywords (p: 50)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 3.1.1 Keywords

[编辑] 参阅

C++关键词C++文档