я перемещался вокруг стандарта «C», и я сталкивался с этим:Когда декларация идентификатора с областью блока имеет внутреннюю связь?
$ 6.7.9.5:
Если объявление идентификатора имеет блок сферы, а идентификатора имеет внешний или внутренний связь, декларация должна иметь , для которой нет идентификатора.
Так что мой вопрос касается названия. Мне также понравятся некоторые примеры, если это возможно.
Разве это не внешняя связь? Или, может быть, не потому, что 'x' уже объявлен. Это уловка здесь? – AnArrayOfFunctions
@FISOCPP Нет, это внутренняя связь, потому что глобальный x определяется ключевым словом static. –
@FISOCPP Он имел бы внешнюю связь, если переменная x, определенная до main, не была видна в блоке, где вторая переменная объявлена с помощью спецификатора extern. –