title: Why can't multiple chars be assignable in an array?
body: <p>Take the following example of trying to do character assignment to an array:</p>
  
  <pre><code>char newer_string[3][6];
  newer_string[0] = "One";
  newer_string[0] = "Two";
  newer_string[0] = "Three";
  </code></pre>
  
  <p>This fails with the following error:</p>
  
  <pre><code>main.c:46:18: error: array type 'char [6]' is not assignable
  </code></pre>
  
  <p>Why is it necessary to add each individual one-at-a-time, for example"</p>
  
  <pre><code>char newer_string[3][6];
  newer_string[0][0] = 'O';
  newer_string[0][1] = 'n';
  // ...etc...
  </code></pre>
  
  <p>What's the most common way to "append" items to an empty array?</p>
  
  <p>Additionally, perhaps I'm misunderstanding the need for a 2D array (or what it even is), because I can also do something like:</p>
  
  <pre><code>char *newer_string[3];
  newer_string[0] = "One";
  newer_string[1] = "Two!!!";
  newer_string[2] = "Three";
  </code></pre>
  
  <p>What would be the best way to assign multiple "words" to an array (a 2D character array? or 1D string-pointer array?)</p>