char a[] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88};
int b = *(int*)&a[0];
int c = *(int*)&a[1];

ってやるとcの値が0x22554433ってなるんですがどういう現象なんでしょうか?