Namespaces
Variants

C keywords

From cppreference.net
< c

Dies ist eine Liste reservierter Schlüsselwörter in C. Da sie von der Sprache verwendet werden, sind diese Schlüsselwörter nicht für eine Neudefinition verfügbar. Als Ausnahme gelten sie nicht als reserviert in Attribut-Token s . (seit C23)

alignas (C23)
alignof (C23)
auto
bool (C23)
break
case
char
const
constexpr (C23)
continue
default
do
double
else
enum

extern
false (C23)
float
for
goto
if
inline (C99)
int
long
nullptr (C23)
register
restrict (C99)
return
short
signed

sizeof
static
static_assert (C23)
struct
switch
thread_local (C23)
true (C23)
typedef
typeof (C23)
typeof_unqual (C23)
union
unsigned
void
volatile
while

_Alignas (C11) (veraltet in C23)
_Alignof (C11) (veraltet in C23)
_Atomic (C11)
_BitInt (C23)
_Bool (C99) (veraltet in C23)
_Complex (C99)
_Decimal128 (C23)
_Decimal32 (C23)
_Decimal64 (C23)
_Generic (C11)
_Imaginary (C99)
_Noreturn (C11) (veraltet in C23)
_Static_assert (C11) (veraltet in C23)
_Thread_local (C11) (veraltet in C23)

Die häufigsten Schlüsselwörter, die mit einem Unterstrich beginnen, werden im Allgemeinen über ihre praktischen Makros verwendet:

Schlüsselwort Verwendet als Definiert in
_Alignas (C11) (veraltet in C23) alignas (entfernt in C23) stdalign.h
_Alignof (C11) (veraltet in C23) alignof (entfernt in C23) stdalign.h
_Atomic (C11) atomic_bool, atomic_int, ... stdatomic.h
_BitInt (C23) (kein Makro)
_Bool (C99) (veraltet in C23) bool (entfernt in C23) stdbool.h
_Complex (C99) complex complex.h
_Decimal128 (C23) (kein Makro)
_Decimal32 (C23) (kein Makro)
_Decimal64 (C23) (kein Makro)
_Generic (C11) (kein Makro)
_Imaginary (C99) imaginary complex.h
_Noreturn (C11) (veraltet in C23) noreturn stdnoreturn.h
_Static_assert (C11) (veraltet in C23) static_assert (entfernt in C23) assert.h
_Thread_local (C11) (veraltet in C23) thread_local (entfernt in C23) threads.h

Einige Schlüsselwörter sind veraltet und werden aus Kompatibilitätsgründen als alternative Schreibweisen beibehalten. Diese können überall dort verwendet werden, wo das Schlüsselwort verwendet werden kann.

Schlüsselwort Alternative Schreibweise
alignas (C23) _Alignas (C11) (veraltet in C23)
alignof (C23) _Alignof (C11) (veraltet in C23)
bool (C23) _Bool (C99) (veraltet in C23)
static_assert (C23) _Static_assert (C11) (veraltet in C23)
thread_local (C23) _Thread_local (C11) (veraltet in C23)

Es ist nicht spezifiziert, ob irgendeine Schreibweise dieser Schlüsselwörter, ihre alternativen Formen oder true und false als vordefinierte Makros implementiert sind.

Jeder Name, der mit einem doppelten Unterstrich __ oder einem Unterstrich _ gefolgt von einem Großbuchstaben beginnt, ist reserviert: siehe identifier für Details.

Beachten Sie, dass Digraphen <% , %> , <: , :> , %: und %:%: eine alternative Darstellungsweise für Standard-Tokens bieten .

Die folgenden Token werden vom Präprozessor erkannt, wenn sie innerhalb des Kontexts einer Präprozessor-Direktive verwendet werden:

if
elif
else
endif

ifdef
ifndef
elifdef (C23)
elifndef (C23)
define
undef

include
embed (C23)
line
error
warning (C23)
pragma

defined
__has_include (C23)
__has_embed (C23)
__has_c_attribute (C23)

**Anmerkung:** Da es sich bei allen Textinhalten um C++-spezifische Präprozessor-Direktiven und Schlüsselwörter handelt, die gemäß den Anweisungen nicht übersetzt werden dürfen, bleibt der gesamte Inhalt unverändert. Die HTML-Struktur und Attribute wurden beibehalten.

Die folgenden Token werden vom Präprozessor erkannt, wenn sie außerhalb des Kontextes einer Präprozessor-Direktive verwendet werden:

_Pragma (C99)

Die folgenden zusätzlichen Schlüsselwörter werden als Erweiterungen klassifiziert und sind bedingt unterstützt:

asm
fortran

Referenzen

  • C23-Standard (ISO/IEC 9899:2024):
  • 6.4.1 Schlüsselwörter (S: 53)
  • J.5.9 Das fortran-Schlüsselwort (S: 601)
  • J.5.10 Das asm-Schlüsselwort (S: 601)
  • C17-Standard (ISO/IEC 9899:2018):
  • 6.4.1 Keywords (S: 42-43)
  • J.5.9 The fortran keyword (S: 422)
  • J.5.10 The asm keyword (S: 422)
  • C11-Standard (ISO/IEC 9899:2011):
  • 6.4.1 Schlüsselwörter (S: 58-59)
  • J.5.9 Das fortran-Schlüsselwort (S: 580)
  • J.5.10 Das asm-Schlüsselwort (S: 580)
  • C99-Standard (ISO/IEC 9899:1999):
  • 6.4.1 Schlüsselwörter (S. 50)
  • J.5.9 Das fortran-Schlüsselwort (S. 514)
  • J.5.10 Das asm-Schlüsselwort (S. 514)
  • C89/C90 Standard (ISO/IEC 9899:1990):
  • 3.1.1 Schlüsselwörter
  • G.5.9 Das fortran-Schlüsselwort
  • G.5.10 Das asm-Schlüsselwort

Siehe auch

C++-Dokumentation für Schlüsselwörter