Hola Mano.
Vengo saltando de hilo en hilo y caí en este.
Tengo una duda respecto a la mejor ubicación para declarar las variables globales.
Si las pongo en el main y alguna de ellas es usada por alguna función de otro fichero .C, me da error porque no la reconoce.
Cuando querés usar una variable global declarada en otro archivo, utilizá la palabra clave "extern" para indicare al compilador que la variable está declarada en otro archivo.
Ej.
Si declaras:
char miVarChar;
como variable global en el archivo "main.c", podes utilizarla en otro archivo, pongamosle de nombre: "mifuncion.c", declarando:
extern char miVarChar;
en el principio de "mifuncion.c" y a partir de allí ya la utilizas con tan solo nombrarla.
Saludos.