title: C memcpy copies bytes with little endianness
body: <p>I a writing a routine to append bytes to a byte_array like so </p>
  
  <pre><code>unsigned long speed = 0xfeb;
  char byteArray[8];
  bzero(byteArray,8); //fills every of the 8 bytes with zero
  memcpy(byteArray,&amp;speed ,4); //copies 4 bytes from speed to byteArray
  </code></pre>
  
  <p>After the operation i am expecting byteArray to have the value <code>0xfeb</code> but it turns out that byteArray has the value <code>0xebf</code></p>
  
  <p>What is happening ? is it normal for memcpy to force the result to little-endianness ? What should i do to get the result without the change of endianness ?</p>