title: Union element alignment
body: <p>If I have a union, C standard guarantees that the union itself will be aligned to the size of the largest element.</p>
  
  <pre><code>union U {
      long l;
      int i;
      short s;
      char c[2];
  } u;
  </code></pre>
  
  <p>But what does it say about alignment of individual union elements inside the union? Is the following expression guaranteed to be true?</p>
  
  <pre><code>(&amp;u.l == &amp;u.i) &amp;&amp; (&amp;u.i == &amp;u.s) &amp;&amp; (&amp;u.s == &amp;u.c[0])
  </code></pre>