This is a list of reserved keywords in C. Since they are used by the language, these keywords are not available for re-definition. As an exception, they are not considered reserved in attribute-tokens.(since C23)
The most common keywords that begin with an underscore are generally used through their convenience macros:
Some keywords are deprecated and retained as alternative spellings for compatibility purposes. These can be used wherever the keyword can.
Keyword Alternative spellingalignas
(C23) _Alignas
(C11)(deprecated in C23) alignof
(C23) _Alignof
(C11)(deprecated in C23) bool
(C23) _Bool
(C99)(deprecated in C23) static_assert
(C23) _Static_assert
(C11)(deprecated in C23) thread_local
(C23) _Thread_local
(C11)(deprecated in C23)
It is unspecified whether any of the spellings of these keywords, their alternate forms, or true
and false
is implemented as a predefined macro.
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 <%
, %>
, <:
, :>
, %:
, and %:%:
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 classified as extensions and conditionally-supported:
[edit] ReferencesRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4