title: How come local types always get an even address
body: <p>Given that example code:</p>
  
  <pre><code>void func( char arg)
  {
      char a[2];
      char b[3];
      char c[6];
      char d[5];
      char e[8];
      char f[13];
      std::cout &lt;&lt; (int)&amp;arg &lt;&lt; std::endl;
      std::cout &lt;&lt; (int)&amp;a &lt;&lt; std::endl;
      std::cout &lt;&lt; (int)&amp;b &lt;&lt; std::endl;
      std::cout &lt;&lt; (int)&amp;c &lt;&lt; std::endl;
      std::cout &lt;&lt; (int)&amp;d &lt;&lt; std::endl;
      std::cout &lt;&lt; (int)&amp;e &lt;&lt; std::endl;
      std::cout &lt;&lt; (int)&amp;f &lt;&lt; std::endl;
  }
  </code></pre>
  
  <p>How comes that with every call i get a result similar to that:</p>
  
  <pre><code>3734052
  3734048
  3734044
  3734080
  3734088
  3734072
  3734056
  </code></pre>
  
  <p>With every address being an even number?
  And why are the addresses not in the same order like the variables are in the code?</p>