Spec-Zone.ru › C

Поддержка типов

См. также обзор системы типов и арифметические типы, определённые языком.

Базовые типы

Дополнительные базовые типы и вспомогательные макросы

Определено в заголовочном файле <stddef.h>
size_t
беззнаковый целочисленный тип, возвращаемый оператором sizeof
(определение типа)
ptrdiff_t
знаковый целочисленный тип, возвращаемый при вычитании двух указателей
(определение типа)
nullptr_t
(C23)
тип предопределённой константы нулевого указателя nullptr
(определение типа)
NULL
константа нулевого указателя, определяемая реализацией
(макроконстанта)
max_align_t
(C11)
тип с требованием к выравниванию не меньшим, чем у любого другого скалярного типа
(определение типа)
offsetof
смещение в байтах от начала типа структуры до указанного члена
(функциональный макрос)
Определено в заголовочном файле <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)

Пример

#include <stdalign.h>
#include <stdbool.h>
#include <stdio.h>

int main(void)
{
    printf("%d %d %d\n", true && false, true || false, !false);
    printf("%d %d\n", true ^ true, true + true);
    printf("%zu\n", alignof(short));
}

Возможный вывод:

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++ для библиотеки поддержки типов

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/types

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API