Namensräume
Varianten
Aktionen

C Schlüsselwörter

Von cppreference.com
< c

Dies ist eine Liste reservierter Schlüsselwörter in C. Da sie von der Sprache verwendet werden, stehen diese Schlüsselwörter nicht zur Neudefinition zur Verfügung. Als Ausnahme gelten sie nicht als reserviert in attribut-token(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 gebräuchlichsten Schlüsselwörter, die mit einem Unterstrich beginnen, werden im Allgemeinen über ihre Makros zur Bequemlichkeit 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 eine der Schreibweisen dieser Schlüsselwörter, ihre alternativen Formen oder true und false als vordefiniertes Makro implementiert sind.

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

Beachten Sie, dass Digraphen <%, %>, <:, :>, %: und %:%: eine alternative Möglichkeit zur Darstellung von Standard-Token bieten.

Die folgenden Token werden vom Präprozessor erkannt, wenn sie innerhalb des Kontexts einer Präprozessordirektive 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)

Die folgenden Token werden vom Präprozessor erkannt, wenn sie außerhalb des Kontexts einer Präprozessordirektive verwendet werden

_Pragma (C99)

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

asm
fortran

[bearbeiten] Referenzen

  • C23-Standard (ISO/IEC 9899:2024)
  • 6.4.1 Schlüsselwörter (S. TBD)
  • J.5.9 Das fortran-Schlüsselwort (S. TBD)
  • J.5.10 Das asm-Schlüsselwort (S. TBD)
  • C17-Standard (ISO/IEC 9899:2018)
  • 6.4.1 Schlüsselwörter (S. 42-43)
  • J.5.9 Das fortran-Schlüsselwort (S. 422)
  • J.5.10 Das asm-Schlüsselwort (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

[bearbeiten] Siehe auch

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