Zunächst einmal ein C-Buch besorgen und lesen.
Du musst Dir darüber klarwerden, das C-Dateien immer für sich übersetzt
werden und nicht etwa erst im Speicher gesammelt werden um dann
übersetzt zu werden.
Daraus folgt, das bei der Übersetztung der Datei mit der Funktion dem
Compiler nicht bekannt ist, dass sich in der anderen Datei eine
Definition für eine verwendete Variable befindet.
Um dem Compiler das mitzuteilen, musst Du in der zweiten Datei eine
Deklaration einfügen.
Ganz allgemein ergibt sich ohnehin oft die Notwendigkeit so wenig wie
möglich globale Variablen zu verwenden. Um das zu erreichen und
Variablen ändern zu können übergibt man Zeiger auf diese Variablen.
Näheres dazu steht im erwähnten C-Buch.