结构的联合是否共享第一个元素未定义的行为?

Nul*_*Set 2 c struct sdl undefined-behavior unions

SDL_Event是无符号8位类型的并集,以及许多结构,其第一个元素是无符号8位类型.推荐的用法是访问union的Uint8元素以确定事件的类型,然后通过适合该类型的元素访问union.

这显然取决于联合中具有为类型标识符保留的相同空间的所有类型.我们可以确定是这种情况,还是这种未定义的行为?

编辑:使标题更具描述性.

unw*_*ind 5

结构的第一个元素保证与struct的开头"偏移0".所以它应该是安全的.