Ключевые слова C
Это список зарезервированных ключевых слов в C. Поскольку они используются языком, эти ключевые слова нельзя переопределять. За исключением случаев, когда они используются в качестве токенов атрибута, они не считаются зарезервированными(since C23)
|
|
|
|
|
Наиболее распространённые ключевые слова, начинающиеся с символа подчёркивания, обычно используются через соответствующие макросы:
| Ключевое слово | Используется как | Определено в |
|---|---|---|
_Alignas (C11)(устарело в C23) |
alignas (удалено в C23) |
stdalign.h |
_Alignof (C11)(устарело в C23) |
alignof (удалено в C23) |
stdalign.h |
_Atomic (C11) |
atomic_bool, atomic_int, ... |
stdatomic.h |
_BitInt (C23) | (нет макроса) | |
_Bool (C99)(устарело в C23) |
bool (удалено в C23) |
stdbool.h |
_Complex (C99) |
complex |
complex.h |
_Decimal128 (C23) | (нет макроса) | |
_Decimal32 (C23) | (нет макроса) | |
_Decimal64 (C23) | (нет макроса) | |
_Generic (C11) | (нет макроса) | |
_Imaginary (C99) |
imaginary |
complex.h |
_Noreturn (C11)(устарело в C23) |
noreturn |
stdnoreturn.h |
_Static_assert (C11)(устарело в C23) |
static_assert (удалено в C23) |
assert.h |
_Thread_local (C11)(устарело в C23) |
thread_local (удалено в C23) |
threads.h |
Некоторые ключевые слова устарели и сохранены в качестве альтернативных написаний для обеспечения совместимости. Их можно использовать везде, где допустимо соответствующее ключевое слово.
| Ключевое слово | Альтернативное написание |
|---|---|
alignas (C23) |
_Alignas (C11)(устарело в C23) |
alignof (C23) |
_Alignof (C11)(устарело в C23) |
bool (C23) |
_Bool (C99)(устарело в C23) |
static_assert (C23) |
_Static_assert (C11)(устарело в C23) |
thread_local (C23) |
_Thread_local (C11)(устарело в C23) |
Не определено, реализовано ли какое-либо из написаний этих ключевых слов, их альтернативные формы, а также true и false в качестве предопределённого макроса.
Каждое имя, начинающееся с двух символов подчёркивания __ или с символа подчёркивания _, за которым следует заглавная буква, зарезервировано: подробности см. в разделе идентификатор.
Обратите внимание, что диграфы <%, %>, <:, :>, %: и %:%: предоставляют альтернативный способ представления стандартных токенов.
Следующие токены распознаются препроцессором, если используются внутри директивы препроцессора:
|
|
Следующие токены распознаются препроцессором, если используются вне контекста директивы препроцессора:
|
|
Следующие дополнительные ключевые слова классифицируются как расширения и поддерживаются условно:
Ссылки
- Стандарт C23 (ISO/IEC 9899:2024):
- 6.4.1 Ключевые слова (с. 53)
- J.5.9 Ключевое слово fortran (с. 601)
- J.5.10 Ключевое слово asm (с. 601)
- Стандарт C17 (ISO/IEC 9899:2018):
- 6.4.1 Ключевые слова (с. 42-43)
- J.5.9 Ключевое слово fortran (с. 422)
- J.5.10 Ключевое слово asm (с. 422)
- Стандарт C11 (ISO/IEC 9899:2011):
- 6.4.1 Ключевые слова (с. 58-59)
- J.5.9 Ключевое слово fortran (с. 580)
- J.5.10 Ключевое слово asm (с. 580)
- Стандарт C99 (ISO/IEC 9899:1999):
- 6.4.1 Ключевые слова (с. 50)
- J.5.9 Ключевое слово fortran (с. 514)
- J.5.10 Ключевое слово asm (с. 514)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
- 3.1.1 Ключевые слова
- G.5.9 Ключевое слово fortran
- G.5.10 Ключевое слово asm
См. также
| Документация по C++ о ключевых словах C++ |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/keyword