Попробую я дать совет.
В Head.h файле обьявляется следующее:
Код
struct _Foo
{
...
}; // Это обьявление структуры как типа
extern struct _Foo Foo; // Это обьявление внешнего обьекта Foo типа struct _Foo
В одном *.c файле определяется обьект:
Код
#include "Head.h"
...
struct _Foo Foo; // Это определение обьекта Foo типа struct _Foo
В любом другом *.c файле, имеющем строку #include "Head.h", обьектом Foo можно пользоваться.