This is a list of reserved keywords in C. Since they are used by the language, these keywords are not available for re-definition.
The most common keywords that begin with an underscore are generally used through their convenience macros:
|keyword||used as||defined in|
||atomic_bool. atomic_int, ...|
Also, each name that begins with a double underscore __ or an underscore followed by an uppercase letter is reserved: see identifier for details.
Note that digraphs
%:%: provide an alternative way to represent standard tokens.
The following tokens are recognized by the preprocessor when they are used within the context of a preprocessor directive:
The following tokens are recognized by the preprocessor when they are used outside the context of a preprocessor directive:
The following additional keywords are conditionally-supported:
- 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++ documentation for C++ keywords