title: Boolean array initialization in C
body: <p>I've stumbled upon some weird behavior for which I couldn't find any info online. If I initialize a boolean array like this:</p>
  
  <pre><code> bool condition[10] = {true,[5]=true};
  </code></pre>
  
  <p>I get the output I expect, first and sixth values are true while others are false. But if I write following snippet:</p>
  
  <pre><code> bool condition[10] = {true,condition[5]=true};
  </code></pre>
  
  <p>I get first, SECOND and sixth values as true. I assume it's some kind of undefined behavior but I'd like someone more knowledgeable than me to explain to me what's going on.</p>
  
  <p>I'm compiling with extra warning flags, using GCC and "-std=gnu99", and I'm not getting any errors.</p>