Namespaces
Variants

C keywords

From cppreference.net
< c

Esta es una lista de palabras clave reservadas en C. Dado que son utilizadas por el lenguaje, estas palabras clave no están disponibles para redefinición. Como excepción, no se consideran reservadas en attribute-token s . (desde 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) (obsoleto en C23)
_Alignof (C11) (obsoleto en C23)
_Atomic (C11)
_BitInt (C23)
_Bool (C99) (obsoleto en C23)
_Complex (C99)
_Decimal128 (C23)
_Decimal32 (C23)
_Decimal64 (C23)
_Generic (C11)
_Imaginary (C99)
_Noreturn (C11) (obsoleto en C23)
_Static_assert (C11) (obsoleto en C23)
_Thread_local (C11) (obsoleto en C23)

Las palabras clave más comunes que comienzan con un guion bajo generalmente se utilizan a través de sus macros de conveniencia:

Palabra clave Se utiliza como Definido en
_Alignas (C11) (obsoleto en C23) alignas (eliminado en C23) stdalign.h
_Alignof (C11) (obsoleto en C23) alignof (eliminado en C23) stdalign.h
_Atomic (C11) atomic_bool, atomic_int, ... stdatomic.h
_BitInt (C23) (sin macro)
_Bool (C99) (obsoleto en C23) bool (eliminado en C23) stdbool.h
_Complex (C99) complex complex.h
_Decimal128 (C23) (sin macro)
_Decimal32 (C23) (sin macro)
_Decimal64 (C23) (sin macro)
_Generic (C11) (sin macro)
_Imaginary (C99) imaginary complex.h
_Noreturn (C11) (obsoleto en C23) noreturn stdnoreturn.h
_Static_assert (C11) (obsoleto en C23) static_assert (eliminado en C23) assert.h
_Thread_local (C11) (obsoleto en C23) thread_local (eliminado en C23) threads.h

Algunas palabras clave están obsoletas y se mantienen como grafías alternativas por motivos de compatibilidad. Estas pueden usarse en cualquier lugar donde la palabra clave pueda utilizarse.

Palabra clave Ortografía alternativa
alignas (C23) _Alignas (C11) (obsoleto en C23)
alignof (C23) _Alignof (C11) (obsoleto en C23)
bool (C23) _Bool (C99) (obsoleto en C23)
static_assert (C23) _Static_assert (C11) (obsoleto en C23)
thread_local (C23) _Thread_local (C11) (obsoleto en C23)

No está especificado si alguna de las grafías de estas palabras clave, sus formas alternativas, o true y false se implementan como macros predefinidas.

Cada nombre que comienza con un doble subrayado __ o un subrayado _ seguido de una letra mayúscula está reservado: consulte identificador para más detalles.

Tenga en cuenta que los dígrafos <% , %> , <: , :> , %: , y %:%: proporcionan una forma alternativa de representar tokens estándar .

Los siguientes tokens son reconocidos por el preprocessor cuando se utilizan dentro del contexto de una directiva de preprocesador:

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)

Los siguientes tokens son reconocidos por el preprocesador cuando se utilizan fuera del contexto de una directiva de preprocesador:

_Pragma (C99)

Las siguientes palabras clave adicionales se clasifican como extensiones y son condicionalmente soportadas:

asm
fortran

Referencias

  • Estándar C23 (ISO/IEC 9899:2024):
  • 6.4.1 Palabras clave (p: 53)
  • J.5.9 La palabra clave fortran (p: 601)
  • J.5.10 La palabra clave asm (p: 601)
  • Estándar C17 (ISO/IEC 9899:2018):
  • 6.4.1 Palabras clave (p: 42-43)
  • J.5.9 La palabra clave fortran (p: 422)
  • J.5.10 La palabra clave asm (p: 422)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 6.4.1 Palabras clave (p: 58-59)
  • J.5.9 La palabra clave fortran (p: 580)
  • J.5.10 La palabra clave asm (p: 580)
  • Estándar C99 (ISO/IEC 9899:1999):
  • 6.4.1 Palabras clave (p: 50)
  • J.5.9 La palabra clave fortran (p: 514)
  • J.5.10 La palabra clave asm (p: 514)
  • Estándar C89/C90 (ISO/IEC 9899:1990):
  • 3.1.1 Palabras clave
  • G.5.9 La palabra clave fortran
  • G.5.10 La palabra clave asm

Véase también