title: Converting unsigned char array to an integer
body: <p>As far as I know, in C programming language, an array is stored on the memory element by element. (i.e., element 0, element 1, element 2, ... , element n). I'm trying to see that with the following code:</p>
  
  <pre><code>unsigned char a[] = { '\1' , '\2', '\3' ,'\4' };  
  printf("%d\n", (int*) a);
  </code></pre>
  
  <p>Since unsigned char is 1 byte and an integer is 4 bytes; I thought it has to print the value:</p>
  
  <blockquote>
    <p>00000001 00000010 00000011 00000100 = 2^2 + 2^8 + 2^9 + 2^17 + 2^24 = 16909060</p>
  </blockquote>
  
  <p>However, when I run this program, it generates different results for every trials.</p>
  
  <p>What am I missing here?</p>