Инициализация строк
Массив символов (или расширенных символов) можно инициализировать со строковым литералом (или расширенным строковым литералом). Пример:
char code[ ] = "abc";
Этот код инициализирует символьный массив code
с четырьмя элементами. Четвертым элементом является символ null, которым завершаются все строковые литералы.
Длина списка идентификаторов может быть равна количеству инициализируемых идентификаторов. Если указанный размер массива меньше длины строки, то лишние символы игнорируются. Например, следующее объявление инициализирует символьный массив code
с тремя элементами:
char code[3] = "abcd";
Массиву code
присваиваются только первые три символа инициализатора. Символ d
и символ null, завершающий строки, отбрасываются. Обратите внимание, что при этом будет создана незавершенная строка (т. е. строка без значения 0, которым обозначается ее конец) и сгенерировано диагностическое сообщение, указывающее на это состояние.
Объявление
char s[] = "abc", t[3] = "abc";
идентично объявлению
char s[] = {'a', 'b', 'c', '\0'},
t[3] = {'a', 'b', 'c' };
Если строка короче указанного размера массива, то остальные элементы массива инициализируются как равные 0.
Блок, относящийся только к системам Microsoft
В Microsoft C строковые литералы могут иметь длину до 2048 байт.
Завершение блока, относящегося только к системам Майкрософт
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по