Не совсем понятно, что имеется в виду.
так сказать неявное включение
массив объявлен в h файле ,посредством include он попадает в другие файлы ,получается что массив (один)объявлен в нескольких местах
в h файлах обычно хранятся прототипы функций,типы данных,структуры,inlain функции.
я extern обычно объявляю в тех файлах где нужна переменная объявленная в другом файле,ну или можно передать посредством указателя.
вообще обмен данными через глобальные переменные не очень хорошая затея.
Можно поподробнее, с примером
файл 1.c
....
uint8_t flag=1;
....
файл 2.c
extern uint8_t flag;
говорит что flag объявлен где то в другом файле.