title: Fill union with a char array member
body: <p>I have a C union with numerous fields which will very likely have different sizes across different platforms:</p>
  
  <pre><code>union foo {
      int a;
      wchar_t b;
      bar *c;
      baz d;
  }
  </code></pre>
  
  <p>Now I want to add a char array to this union that's exactly as big as I can make it without it causing the entire union to be larger. Something alone the lines of</p>
  
  <pre><code>union foo {
      ...
      char z[sizeof(union foo)];
  }
  </code></pre>
  
  <p>except that won't compile, of course, since <code>union foo</code>'s size isn't yet known at that point.</p>
  
  <p>Is there a trick that'll let me "fill" the union with a char array?</p>