title: Value of uninitialized elements in array of C language
body: <p>I have an array of 3 elements. But I only want to initialize 2 of them.
  I let the third element blank.</p>
  
  <pre><code>unsigned char array[3] = {1,2,};
  int main(){
    printf("%d",array[2]);
      return 0;
  }
  </code></pre>
  
  <p>The print result is 0. I tested it on IAR, and some online compiler.</p>
  
  <p>Is there any C rule for the value of third element?
  Is there any compiler filling the third element by 0xFF ? (Especially cross compiler)</p>