foo.cで
...
const int a[5] = {1,2,3,4,5};
...

bar.cで

...
extern const int a[];
...
とするとbar.cでコンパイルエラーが起こるのはなぜ?