int main() {
int i;
int four_ints[4];
char* c;
for(i=0; i<4; i++) four_ints[i] = 18;
c = (char*)four_ints;
for(i=0; i<4; i++) c[i] = 24;
printf("%x\n", four_ints[2]);
}
したがって、そのように印刷すると、単に12が印刷されます。
ただし、次のように変更するとprintf("%x\n", four_ints[11])
突然印刷されます28ac90
なぜそれをするのでしょうか?