Is writing then reading different union members undefined according to the C standard?

c++ union type punning
c++ union example
c++ union class
c++ tagged union
c union
c++ union alternative
union c++ vs c++
c tagged union