Массив narrow character type, char16_t массив, char32_t массив или wchar_t массив может быть инициализирован узким строковым литералом, char16_t строковым литералом, char32_t строковым литералом или широким строковым литералом, соответственно, или строковым литералом соответствующего типа, заключенным в фигурные скобки ([lex.string]). Последовательные символы значения строкового литерала инициализируют элементы массива. [ Example:
char msg[] = "Syntax error on line %s\n";
показывает массив символов, члены которого инициализированы с помощью string-literal. Обратите внимание, что, поскольку '\n' это один символ, и поскольку'\0' добавляется завершающий символ , sizeof(msg) это 25. ] — end example
Инициализаторов не должно быть больше, чем элементов массива. [ Example:
char cv[4] = "asdf"; // error
неправильно сформирован, поскольку нет места для подразумеваемого трейлинга '\0'. ] — end example
Если инициализаторов меньше, чем элементов массива, каждый элемент, не инициализированный явно, должен быть zero-initialized.