If you want an array to be global and if you want to be able to change the contents of the elements, declare it extern in the header. Then define it in a source file. Like this:
Code:
extern int array[]; /* in globals.h" */
Code:
#include "globals.h"
int array[] = {1, 2, 3}; /* in globals.c */
If the global array is supposed to be non-changing, you don't need to declare it extern, just declare static const in the header file and skip the definition in the c-file.
Code:
static const int an_array_that_never_changes_the_values_of_its_elements[] = {1, 2, 3}; /* in globals.h */