title: C Programming - Pointer Adress Byte Split
body: <p>I have the following variable var which is an unsigned 32bit value.
  I am working on a little endian system.</p>
  
  <pre><code>unsigned long var = 1;
  // Representation: 00000000 00000000 00000000 00000001
  </code></pre>
  
  <p>Now I want to access the first and the last 16 bit via:</p>
  
  <pre><code>(((unsigned short*)&amp;var)[0])) =&gt; 00000000 00000001
  
  (((unsigned short*)&amp;var)[1])) =&gt; 00000000 00000000
  </code></pre>
  
  <p>Is there any C documentation for this type of pointer adress type split?
  I got this working but I do not know how this works.</p>
  
  <p>Thanks</p>