Type support
См. также обзор системы типов и арифметические типы, определённые языком .
Содержание |
Основные типы
Дополнительные базовые типы и удобные макросы
|
Определено в заголовочном файле
<stddef.h>
|
|
|
беззнаковый целочисленный тип, возвращаемый оператором
sizeof
(typedef) |
|
|
знаковый целочисленный тип, возвращаемый при вычитании двух указателей
(typedef) |
|
|
(C23)
|
тип предопределенной константы нулевого указателя
nullptr
(typedef) |
|
определяемая реализацией константа нулевого указателя
(макроконстанта) |
|
|
(C11)
|
тип с требованием выравнивания таким же строгим, как у любого другого скалярного типа
(typedef) |
|
смещение в байтах от начала структуры до указанного члена
(функциональный макрос) |
|
|
Определено в заголовочном файле
<stdbool.h>
|
|
|
bool
(C99)
(удален в C23)
|
удобный макрос, раскрывается в
_Bool
(макрос-ключевое слово) |
|
true
(C99)
(удален в C23)
|
раскрывается в целочисленную константу
1
(макроконстанта) |
|
false
(C99)
(удален в C23)
|
раскрывается в целочисленную константу
0
(макроконстанта) |
|
__bool_true_false_are_defined
(C99)
(устарел в C23)
|
раскрывается в целочисленную константу
1
(макроконстанта) |
|
Определено в заголовочном файле
<stdalign.h>
|
|
|
alignas
(C11)
(удален в C23)
|
удобный макрос, раскрывается в ключевое слово
_Alignas
(макрос-ключевое слово) |
|
alignof
(C11)
(удален в C23)
|
удобный макрос, раскрывается в ключевое слово
_Alignof
(макрос-ключевое слово) |
|
__alignas_is_defined
(C11)
(удален в C23)
|
раскрывается в целочисленную константу
1
(макроконстанта) |
|
__alignof_is_defined
(C11)
(удален в C23)
|
раскрывается в целочисленную константу
1
(макроконстанта) |
|
Определено в заголовочном файле
<stdnoreturn.h>
|
|
|
noreturn
(C11)
(устарел в C23)
|
удобный макрос, раскрывается в
_Noreturn
(макрос-ключевое слово) |
Целочисленные типы фиксированной ширины (начиная с C99)
Числовые ограничения
Примечания
|
Тип true и false — int , а не _Bool . Программа может отменить определение и, возможно, переопределить макросы bool , true и false . Однако такая возможность является устаревшей функцией. |
(начиная с C99)
(до C23) |
|
Тип true и false — bool . Не указано, реализованы ли какие-либо из bool , _Bool , true или false в качестве предопределённых макросов. Если bool , true или false (но не _Bool ) определены как предопределённые макросы, программа может отменить их определение и, возможно, переопределить. |
(начиная с C23) |
Пример
Возможный вывод:
0 1 1 0 2 2
Ссылки
- Стандарт C23 (ISO/IEC 9899:2024):
-
- 7.15 Выравнивание <stdalign.h> (стр: TBD)
-
- 7.18 Булевый тип и значения <stdbool.h> (стр: TBD)
-
- 7.19 Общие определения <stddef.h> (стр: TBD)
-
- 7.23 _Noreturn <stdnoreturn.h> (стр: TBD)
-
- 7.31.9 Булевый тип и значения <stdbool.h> (стр: TBD)
- Стандарт C17 (ISO/IEC 9899:2018):
-
- 7.15 Выравнивание <stdalign.h> (стр: 196)
-
- 7.18 Булевый тип и значения <stdbool.h> (стр: 210)
-
- 7.19 Общие определения <stddef.h> (стр: 211)
-
- 7.23 _Noreturn <stdnoreturn.h> (стр: 263)
-
- 7.31.9 Булевый тип и значения <stdbool.h> (стр: 332)
- Стандарт C11 (ISO/IEC 9899:2011):
-
- 7.15 Выравнивание <stdalign.h> (стр: 268)
-
- 7.18 Булевый тип и значения <stdbool.h> (стр: 287)
-
- 7.19 Общие определения <stddef.h> (стр: 288)
-
- 7.23 _Noreturn <stdnoreturn.h> (стр: 361)
-
- 7.31.9 Булевый тип и значения <stdbool.h> (стр: 456)
- Стандарт C99 (ISO/IEC 9899:1999):
-
- 7.18 Логический тип и значения <stdbool.h> (стр: 253)
-
- 7.19 Общие определения <stddef.h> (стр: 254)
-
- 7.26.7 Логический тип и значения <stdbool.h> (стр: 401)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
-
- 4.1.5 Общие определения <stddef.h>
Смотрите также
|
Документация C++
для
Библиотеки поддержки типов
|