The file1.c defines an array 'myarray' as,

int myarray[10];

The file2.c uses 'myarray' as,

extern int *myarray;
void foo()
{
myarray[0] = 10;
}

What kind of problem this program may have?

Thanks !