extern - это ключевое слово языка. Оно само по себе ничего не означает. Семантику несут только грамматически правильные конструкции. Если конструкция языка, похожая на описание переменной, содержит и "extern", и инициализатор, то она является определением глобальной переменной, а не описанием внешней переменной. Зря, конечно, это позволено - но так сложилось исторически.