Во-первых, ни первый не второй является «утверждение». В заявлениях на языке C нет утверждений. Объявления - это декларации, заявления - заявления. В C это два независимых непересекающихся мира.
Во-вторых, каждое определение является декларацией в то же время. Определение - это всего лишь особый вид декларации. Таким образом, неверно конформировать декларации, и определения являются таким взаимоисключающим способом.
В-третьих, то, что говорят комментарии, является правильным, и вы ошибаетесь. Первая - не определяющая декларация. Второй - это определение .
В-четвертых, второе - это так называемое условное определение - особенность C. Он обладает некоторыми своеобразными свойствами. В общем случае он не обязательно определяет переменную с внешняя связь. Связь переменной, которую она определяет, может зависеть от контекста. В вашем конкретном примере, взятом буквально, он действительно определяет переменную с внешней связью. Вы можете найти на сайте условное определение, чтобы узнать больше об этом.
В-пятых, книги Шильдта созревают с огромным количеством терминологических ошибок (а не только терминологических). Это на самом деле то, что они в основном известны.
Можете ли вы дать цитату из своей книги, которая поддерживает ваше утверждение? –