Compatibilidade do ponteiro de estrutura
uponhamos que temos duas estrutura
typedef struct Struct1
{
short a_short;
int id;
} Struct1;
typedef struct Struct2
{
short a_short;
int id;
short another_short;
} Struct2;
É seguro transmitir a partir deStruct2 *
paraStruct1 *
? O que a especificação ANSI diz sobre isso? Eu sei que alguns compiladores têm a opção de reordenar campos de estruturas para otimizar o uso de memória, o que pode tornar as duas estruturas incompatíveis. Existe alguma maneira de garantir que esse código seja válido, independentemente do sinalizador do compilador?
Obrigado