Массив символов (или расширенных символов) можно инициализировать со строковым литералом (или расширенным строковым литералом). Пример:
char code[ ] = «abc»;
Этот код инициализирует символьный массив code с четырьмя элементами. Четвертым элементом является символ null, которым завершаются все строковые литералы.
Длина списка идентификаторов может быть равна количеству инициализируемых идентификаторов. Если указанный размер массива меньше длины строки, то лишние символы игнорируются. Например, следующее объявление инициализирует символьный массив code с тремя элементами:
char code[3] = «abcd»;
Массиву code присваиваются только первые три символа инициализатора. Символ d и символ null, завершающий строки, отбрасываются. Обратите внимание, что при этом будет создана незавершенная строка (т. е. строка без значения 0, которым обозначается ее конец) и сгенерировано диагностическое сообщение, указывающее на это состояние.
char s[] = «abc», t[3] = «abc»;
char s[] = , t[3] = ;
Если строка короче указанного размера массива, то остальные элементы массива инициализируются как равные 0.
ИНИЦИАЛИЗАЦИЯ МАССИВА | СПОСОБЫ | СИ ШАРП | C# ПРИМЕРЫ | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 25
Блок, относящийся только к системам Microsoft
В Microsoft C строковые литералы могут иметь длину до 2048 байт.
Завершение блока, относящегося только к системам Майкрософт
Источник: learn.microsoft.com
Строки
Как уже было рассмотрено в статье Введение в строки, в языке C++ для работы со строками определен специальный тип std::string , определенный в модуле . Рассмотрим подробнее основные моменты работы с данным типом.
Объект типа string содержит последовательность символов типа char, которая может быть пустой. Например, определение пустой строки:
std::string message;
Также можно инициализировать или присвоить переменной string конкретную строку:
std::string message ; // или так std::string message2 = «Hello METANIT.COM!»; std::string message3(«Hello METANIT.COM!»);
В данном случае переменная message получит копию строкового литерала «Hello METANIT.COM!». В своем внутреннем представлении переменная message будет хранить массив символов, который также заканчивается на нулевой байт. Однако реализация типа string и предлагаемые им возможности делают работу с этим типом более безопасной.
Есть ряд других способов инициализации. Так, можно инициализировать строку повторяющимся набором символов:
std::string message (4, ‘d’); // повторяем d 4 раза — message = dddd
И можно инициализировать объект string дргим объектом string:
std::string hello; std::string message ; // message = «hello world» // или так // std::string message (hello); // std::string message = hello;
Можно инициализировать только часть строки
std::string message1 ; // берем первые 4 символа — message1 = hell std::string message2 ; // 5 символов начиная с 6 символа — message2 = world std::string hello; std::string message3 ; // message3 = hell std::string message4 ; // message4 = world
Ввод и вывод символьных строк в Си
Итак, строки в языке Си. Для них не предусмотрено отдельного типа данных, как это сделано во многих других языках программирования. В языке Си строка – это массив символов. Чтобы обозначить конец строки, используется символ ‘