Странное GCC предупреждение о классе и типе хранилища

У меня есть файл заголовка, который выглядит как

header.h

int TOS;

Этот файл включен только одним файлом кода

code.c

#include "header.h"
TOS=0;

При компиляции code.c GCC выдает предупреждение

code.c: 3: 1: предупреждение: определение данных не имеет типа или класса хранения [включено по умолчанию] code.c: 3: 1: предупреждение: тип по умолчанию имеет значение «int» в объявлении «TOS» [включено по умолчанию]

Я не понимаю причину этого предупреждения. Разве это не эквивалентно объявлению и определению TOS в code.c? то есть

code.c

int TOS;
TOS=0;

Ответы на вопрос(3)

Ваш ответ на вопрос