Ja du setzt dazu einfach den neuen Wert. Die ursprünglichen Informationen gehen damit aber verloren.
union MyUnion {
int intValue;
float floatValue;
};
int main() {
union MyUnion u;
u.intValue = 42;
printf("Int value: %d\n", u.intValue);
u.floatValue = 3.14;
printf("Float value: %f\n", u.floatValue); // Unerwartetes Verhalten!
printf("Int value nach float assignment: %d\n", u.intValue); // Unerwartetes Verhalten!
return 0;
}