Sì... hai perfettamente ragione!!!

Allora... considerando un int a 16 bit (char sempre a 8 bit), ci vorrebbe anche una struct così composta:
codice:
struct intero {
char a0;
char a1;
};
Segue il codice corretto:
codice:
union mioByte {
int A;
struct intero mioInt;
} miaVar
A questo punto cambiano un po' le cose:
codice:
miaVar.A = <valore intero>
printf("Valore del primo byte: %d\n", miaVar.mioInt.a0);
printf("Valore del secondo byte: %d\n", miaVar.mioInt.a1);
Spero non ci siano altri errori.
Ciao.