title: Excess elements of scalar initializer for pointer to array of ints
body: <p>I’m working on an exercise in K&amp;R (ex. 5–9) and I was trying to convert the original program’s 2D array of</p>
  
  <pre><code>static char daytab[2][13] = {
      {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
      {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
  };
  </code></pre>
  
  <p>into using pointers to an array of 13 ints like</p>
  
  <pre><code>static char (*daytab)[13] = {
      {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
      {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
  };
  </code></pre>
  
  <p>But compiler prints <strong><em>warning: excess elements in scalar initializer</em></strong>.</p>
  
  <p>Googling did not help and even K&amp;R writes when passing the array to a function,</p>
  
  <pre><code>myFunction(int daytab[2][13]) {...}
  </code></pre>
  
  <p>is the same as</p>
  
  <pre><code>myFunction(int (*daytab)[13]) {...}
  </code></pre>