Поддержка типов
Материал из cppreference.com
< c
См. также обзор системы типов и арифметические типы, определённые языком.
Содержание |
[править]Базовые типы
[править]Дополнительные базовые типы и удобные макросы
Определены в заголовочном файле <stddef.h> | |
беззнаковый целый тип, значение которого возвращает оператор sizeof (определение типа) | |
целый тип со знаком, значение которого возвращается при вычитании двух указателей (определение типа) | |
(C23) | тип предопределённой константы — нулевого указателя nullptr (определение типа) |
константа нулевого указателя, определяемая реализацией (макроконстанта) | |
(C11) | тип с требованием выравнивания по максимальному скалярному типу (определение типа) |
смещение в байтах от начала структуры до указанного элемента (функция-макрос) | |
Определены в заголовочном файле <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)
[править] Числовые границы
[править]Замечания
Типом Программа может не определять и, возможно, затем переопределять макросы | (начиная с C99) (до C23) |
Типом Если | (начиная с C23) |
[править]Пример
Запустить этот код
Возможный вывод:
0 1 1 0 2 2
[править]Ссылки
- Стандарт 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++ по библиотеке поддержки типов |