Язык
C следует принципу "все или ничего" , когда дело доходит до инициализации.Объект либо полностью неинициализирован, либо полностью инициализирован.Последнее означает, что если вы указываете меньше инициализаторов, чем необходимо для инициализации всего объекта, остальная часть объекта неявно инициализируется нулем для вас компилятором.
Это относится ко всем типам агрегатов.В вашем случае это просто массив символов, инициализированный строковым литералом.В этом случае, например,
int a[100] = { 1 };
вы получите массив 100 int
с, самый первый из которых инициализирован с 1
, а остальные установлены на 0
.