Строковые литералы

Строковые литералы, известные также как строковые константы, образуют специальную категорию констант, используемых для работы с фиксированными последовательностями символов. Строковый литерал есть тип данных array of char и класс памяти static, записываемый как последовательность произвольного количества символов, заключенных в двойные кавычки:

"This is literally a string!" /* "Это строковый литерал!" */

Нулевая (пустая) строка записывается как "". Если строковые литералы имеют большое количество символов, не умещающихся на одной строке, то можно с помощью символа наклонной черты влево (\) переносить символы строкового литерала на следующую строку, т.е. выполнить «склеивание» этих строк. В этом случае символ наклонной черты влево (обратный слеш) и символ новой строки (Enter) пpи синтаксическом анализе отбрасываются, что позволяет рассматривать две части строкового литерала как единое целое, Например:

"Borland \

International"

будет рассматриваться, как

"Borland International".

Символы внутри двойных кавычек могут включать управляющие последовательности. Например,

"\t\t\" Имя \\\\tАдрес\n\n

распечатается функцией printf следующим образом:

"Имя "\ Адрес

Слову "Имя" будет предшествовать два символа табуляции; слову "Адрес" предшествует один символ табуляции. Строка заканчивается двумя символами новой строки. Последовательность \" обеспечивает вывод внутренних кавычек.

Строковый литерал хранится в памяти как заданная последовательность символов, плюс конечный пустой символ ('\0'), означающий конец строки. Нулевая строка хранится в виде одного символа '\0'.

Не следует путать '\0', '0' и "0". Первое – символьный литерал, соответствующий символу с кодом 0. Второе – такой же литерал, но обозначающий цифру 0, ее код в ASCII-кодировке 48. Третий – это строковый литерал, содержащий два символа, цифру 0 и нуль-терминатор'\0'.

На фазе лексического анализа соседние строковые литералы, разделенные только пробелами, конкатенируются (объединяются).

Для расширения строковой константы за границы строки в качестве символа продолжения можно использовать обратную наклонную черту (\):

put(" В действительности \

это однострочная строка символов ");


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: