Since unions share memory addresses with other members, the memory size may become larger than expected depending on the alignment.
Since C23, static_assert is built into the C language, so it is convenient to include a static_assert when declaring a union.
View quoted note →