Quand une union est dans une structure, il faut donner un nom au membre de la structure qui est de type union, ce qui à pour conséquence de rendre assez lourd l'accès aux membres de l'union. Dans l'exemple précédent, il faut écrire a1.u.f pour accéder au membre f. On peut alléger l'écriture en utilisant les facilités du préprocesseur. On peut écrire par exemple :
#define I u.i #define F u.fPour initialiser a1 avec l'entier 10, on écrira alors :
a1.typ_val = ENTIER; a1.I = 10;