チョッと質問なんだけど

typedef union {
short ab;
char a;
char b;
} kyouyou;

extern kyouyou hai[256];

これをヘッダで宣言した場合、#includeすれば文法的に間違いないよね?