combined bytes wont shift.

dgog71:
Just to confirm, by doing this am I creating another instance of that union and using it as a template to create a new union of data types. or is it re using the first union again data types and data?

Defining the union doesn't create any instances so it doesn't use any space. Each function declares an instance of the union as a local variable so those take up four bytes for as long as the function is running.