Matriz com Struct e union no C18 é possivel?

Eu preciso de uma estrutura de 4 matrizes de 20 chars com o mesmo endereço de uma matriz de 80 chars.
Eu tentei usar union mas não funcionou, será que no c18 struct só funciona com bits?
Eu tentei usar union mas não funcionou, será que no c18 struct só funciona com bits?
#pragma udata access lcd_env = 0x1b0
unsigned char lcd_L1[20];
unsigned char lcd_L3[20];
unsigned char lcd_L2[20];
unsigned char lcd_L4[20];
#pragma udata
union {
struct {
unsigned char L1[20];
unsigned char L3[20];
unsigned char L2[20];
unsigned char L4[20];
};
struct {
unsigned char lcd_80[80];
};
}LCDbits;