IIUC, в стандарте C определение трактуется точно так же, как объявление с инициализатором, поэтому все, что относится к объявлениям, в равной степени относится и к определениям.
(На самом деле, определение будет объявлением, которое выделяетхранилище для переменной, так что предварительные определения C (которые не имеют инициализаторов) были бы квалифицированы, и те объявления C ++, которые действуют как определения без инициализаторов, также были бы пригодны. Точка зрения, что определение по сути является объявлением плюс некоторое добавленное поведение, все еще применяется).