logo search
volkov / C++ / Бьерн Страуструп-Справочное руководство по С++

R.8.4.2 Символьные массивы

Массив символов (неважно, знаковых или беззнаковых) можно

инициализировать строкой-литералом: символы строки последовательно

инициализируют элементы массива. Следующее определение дает пример

символьного массива, элементы которого инициализируются строкой:

char msg[] = "Syntax error on line %s\n";

Заметим, что поскольку '\n' задает один символ, и поскольку добавляется

завершающий символ '\0', sizeof(msg) равно 25.

Нельзя задавать больше инициализаторов, чем есть элементов в массиве,

поэтому следующий пример ошибочен: здесь нет места для подразумевающегося

символа конца строки ('\0'):

char cv[4] = "asdf"; // ошибка