正如我所看到的,有没有未定义行为的范围在这里.
引用C11
,章节§6.7.2.1,结构和联合说明符,(强调我的)
在结构对象中,非位字段成员和位字段所在的单元具有按声明顺序增加的地址.指向适当转换的结构对象的指针指向其初始成员(或者如果该成员是位字段,则指向它所在的单元),反之亦然.结构对象中可能存在未命名的填充,但不是在其开头.
所以,使用当前的片段(和方法),你应该很高兴.
正如我所看到的,有没有未定义行为的范围在这里.
引用C11
,章节§6.7.2.1,结构和联合说明符,(强调我的)
在结构对象中,非位字段成员和位字段所在的单元具有按声明顺序增加的地址.指向适当转换的结构对象的指针指向其初始成员(或者如果该成员是位字段,则指向它所在的单元),反之亦然.结构对象中可能存在未命名的填充,但不是在其开头.
所以,使用当前的片段(和方法),你应该很高兴.