Текстовые константы
Текстовая константа - это цепочка из нуля или большего числа символов, заключенная в двойные кавычки; например: ",", "a", "ab", "12". Чтобы включить в цепочку сам символ двойной кавычки, перед ним надо поставить знак \: "He said, \"Sit!\"". Чтобы включить в цепочку символ перевода строки, в соответствующем месте надо указать \n. Никаких других управляющих последовательностей не требуется. Текстовые константы могут иметь (практически) любую длину.
Формат текстовых констант описан ранее, в разделе Лексемы. Числовое значение текстовой константы равно 0, если только цепочка, заключенная в двойные кавычки, не является записью числовой константы. В этом случае числовое значение определяется естественным образом. Предпочтительным является текстовое значение, которое всегда совпадает с самой константой. Следующая таблица содержит примеры значений текстовых констант:
Текстовая константа | Числовое значение | Текстовое значение |
"" | 0 | пусто |
"a" | 0 | a |
"XYZ" | 0 | XYZ |
"o" | 0 | 0 |
"1" | 1 | 1 |
".5" | 0.5 | .5 |
".5e2" | 50 | .5e2 |
Текстовая константа - это последовательность символов, ограниченная двойными кавычками: "...". Текстовая константа имеет тип "массив символов" и класс памяти static (см. КЛАСС ПАМЯТИ И ТИП) и инициализируется указанными символами. В конце каждой текстовой константы компилятор помещает нулевой байт (\0); благодаря этому программы, просматривающие текстовую константу, могут обнаружить ее конец. Если требуется включить в текстовую константу символ двойной кавычки ("), перед ним надо поставить знак \; кроме того, могут использоваться те же управляющие символы, что и в символьных константах.
Знак \ и следующий непосредственно за ним символ перевода строки игнорируются. Все текстовые константы, даже внешне идентичные, располагаются в отдельных фрагментах памяти.