Включает ли включение {} в инициализацию строки C?

В чем разница между следующими?

char input[] = {"abc"};

и

char input[] = "abc";

Ответы

Ответ 1

Обе формы эквивалентны и разрешены.

char input[] = "abc";

или

char input[] = {"abc"};

Вот соответствующий абзац из стандарта C:

(C99, 6.7.8p14): "Массив типа символа может быть инициализирован литералом строки символов, необязательно заключенным в фигурные скобки"