title: Default initializion value of boolean member in struct
body: <p>If I have the following</p>
  
  <pre><code>struct a {
          int a;
          int b;
          bool c;
  }
  </code></pre>
  
  <p>and use the following initialization function</p>
  
  <pre><code>struct ls *ls_new(struct ls **ls, size_t *size)
  {
          struct ls *m, *n;
          n = realloc(*ls, (*size + 1) * sizeof(struct ls));
          if (!n)
                  return NULL;
  
          *ls = n;
          m = *ls + *size;
          (*size)++;
  
          // init struct
          *m = (struct ls) {.a = 0}
  
          return m;
  }
  </code></pre>
  
  <p>When I use <code>ls_new()</code> to initialize an instance of <code>struct a</code> the <code>c99</code> standard guarantees that initializing one member of the struct will also initialize all other members. What will be the default initialization value for <code>bool c</code>?</p>