Spec-Zone.ru › GCC 11

Следующая: Целые числа, Предыдущая: Идентификаторы, Вверх: Реализационно-определённое поведение C [Оглавление][Индекс]

4.4 Символы ¶

  • Количество битов в байте (C90 3.4, C99 и C11 3.6).

    Определяется ABI.

  • Значения элементов набора символов выполнения (C90, C99 и C11 5.2.1).

    Определяется ABI.

  • Уникальное значение элемента набора символов выполнения, полученное для каждой из стандартных буквенных управляющих последовательностей (C90, C99 и C11 5.2.2).

    Определяется ABI.

  • Значение объекта char , в который был сохранён любой символ, кроме элемента базового набора символов выполнения (C90 6.1.2.5, C99 и C11 6.2.5).

    Определяется ABI.

  • Какой из signed char или unsigned char имеет тот же диапазон, представление и поведение, что и «обычный» char (C90 6.1.2.5, C90 6.2.1.1, C99 и C11 6.2.5, C99 и C11 6.3.1.1).

    Определяется ABI. Опции -funsigned-char и -fsigned-char изменяют значение по умолчанию. См. Опции, управляющие диалектом C.

  • Сопоставление элементов набора символов исходного текста (в символьных константах и строковых литералах) с элементами набора символов выполнения (C90 6.1.3.4, C99 и C11 6.4.4.4, C90, C99 и C11 5.1.1.2).

    Определяется ABI.

  • Значение целочисленной символьной константы, содержащей более одного символа или содержащей символ или управляющую последовательность, которые не отображаются в один байтовый символ выполнения (C90 6.1.3.4, C99 и C11 6.4.4.4).

    См. Реализационно-определённое поведение в Препроцессоре C.

  • Значение символьной константы с широким символом, содержащей более одного многобайтового символа или одного многобайтового символа, отображаемого в несколько элементов расширенного набора символов выполнения, или содержащей многобайтовый символ или управляющую последовательность, не представленную в расширенном наборе символов выполнения (C90 6.1.3.4, C99 и C11 6.4.4.4).

    См. Реализационно-определённое поведение в Препроцессоре C.

  • Текущий языковой стандарт, используемый для преобразования символьной константы с широким символом, состоящей из одного многобайтового символа, отображаемого в элемент расширенного набора символов выполнения, в соответствующий код широкого символа (C90 6.1.3.4, C99 и C11 6.4.4.4).

    См. Реализационно-определённое поведение в Препроцессоре C.

  • Можно ли конкатенировать литералы широких строк с различными префиксами и, если да, то как обрабатывать полученную последовательность многобайтовых символов (C11 6.4.5).

    Такие токены конкатенировать нельзя.

  • Текущий языковой стандарт, используемый для преобразования литерала широкой строки в соответствующие коды широких символов (C90 6.1.4, C99 и C11 6.4.5).

    См. Реализационно-определённое поведение в Препроцессоре C.

  • Значение строкового литерала, содержащего многобайтовый символ или управляющую последовательность, не представленную в наборе символов выполнения (C90 6.1.4, C99 и C11 6.4.5).

    См. Реализационно-определённое поведение в Препроцессоре C.

  • Кодировка любого из wchar_t, char16_t, и char32_t, где соответствующая стандартная макрокоманда кодировки (__STDC_ISO_10646__, __STDC_UTF_16__, или __STDC_UTF_32__) не определена (C11 6.10.8.2).

    См. Реализационно-определённое поведение в Препроцессоре C. char16_t и char32_t литералы всегда кодируются в UTF-16 и UTF-32 соответственно.

Следующая: Целые числа, Предыдущая: Идентификаторы, Вверх: Реализационно-определённое поведение C [Оглавление][Индекс]

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-11.4.0/gcc/Characters-implementation.html

Spec-Zone.ru

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