title: What do square brackets mean in array initialization in C?
body: <pre><code>static uint8_t togglecode[256] = {
      [0x3A] CAPSLOCK,
      [0x45] NUMLOCK,
      [0x46] SCROLLLOCK
  };
  </code></pre>
  
  <p>What's the meaning of <code>[0x3A]</code> here? I have only learned statements like <code>int a[2] = {1, 2};</code></p>