#include <stdio.h>
typedef struct my_struct {
int member1;
char member2;
short member3;
float member4;
} my_struct;
int main() {
my_struct st;
st.member3 = 578;
short m3 = *( (short*) ( (char*)&st + 6) );
printf("%d\n", m3);
st.member3 = 1092;
m3 = *( (short*) ( (char*)&st + sizeof(int) + sizeof(char) + 1) );
printf("%d\n", m3);
*( (float*) ( (char*)&st + 8 ) ) = 3.14f;
printf("%.2f\n", st.member4);
*( (float*) ( (char*)&st + sizeof(int) + sizeof(char) + sizeof(short) + 1) ) = 0.07f;
printf("%.2f\n", st.member4);
return 0;
}
/*
run:
578
1092
3.14
0.07
*/