struct MFR { .... }; struct MFRL { .... }; struct directory { char ftype; ... }; union block { struct directory d; struct MFR m; struct MFRL l; char s[64]; }; union block *disk[256]; int main () { union block u; u.d.ftype = 'D'; disk[1]=malloc(64); disk[1]->d.ftype='D'; disk[2]=malloc(64); strcpy(disk[2]->s,"The quick brown fox"); return 0; }