Little endian architecture,
Let's program it and see what happens:
#include &lt;stdio.h&gt;

int main(int argc, char *argv[]) {
  unsigned char mem[4] = { 0xde, 0xad, 0xbe, 0xef };

  printf(&quot;%02hhx %02hhx %02hhx %02hhx\n&quot;, mem[0], mem[1], mem[2], mem[3]);
  printf(&quot;%04hx %04hx\n&quot;, *(unsigned short *)(mem), *(unsigned short *)(mem + 2));
}

Here is the output:
de ad be ef
adde efbe