#include <cstdio>
#include <cstring>
struct Target {
char foo[8];
};
struct Trap {
unsigned i1, i2;
};
int main() {
Target t;
strcpy(t.foo, "AAAAAAA");
Trap* tr = reinterpret_cast<Trap*>(&t);
fprintf(stdout, "Before: %s\n", t.foo);
printf("%x %x\n", tr->i1, tr->i2);
tr->i1 = 0x42424242;
tr->i2 = 0x00424242;
printf("After: %s\n", t.foo);
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGNzdHJpbmc+CgpzdHJ1Y3QgVGFyZ2V0IHsKCWNoYXIgZm9vWzhdOwp9OwoKc3RydWN0IFRyYXAgewoJdW5zaWduZWQgaTEsIGkyOwp9OwoKaW50IG1haW4oKSB7CglUYXJnZXQgdDsKCXN0cmNweSh0LmZvbywgIkFBQUFBQUEiKTsKCQoJVHJhcCogdHIgPSByZWludGVycHJldF9jYXN0PFRyYXAqPigmdCk7CgkKCWZwcmludGYoc3Rkb3V0LCAiQmVmb3JlOiAlc1xuIiwgdC5mb28pOwoJcHJpbnRmKCIleCAleFxuIiwgdHItPmkxLCB0ci0+aTIpOwoJCgl0ci0+aTEgPSAweDQyNDI0MjQyOwoJdHItPmkyID0gMHgwMDQyNDI0MjsKCQoJcHJpbnRmKCJBZnRlcjogJXNcbiIsIHQuZm9vKTsKCQoJcmV0dXJuIDA7Cn0=