title: string array initialisation
body: <p>This is a continuation of another <a href="https://stackoverflow.com/questions/7834294/string-array-conversion">question</a> I have.</p>
  
  <p>Consider the following code:</p>
  
  <pre><code>char *hi = "hello";
  
  char *array1[3] = 
  {
      hi,
      "world",
      "there."
  };
  </code></pre>
  
  <p>It doesn't compile to my surprise (apparently I don't know C syntax as well as I thought) and generates the following error:</p>
  
  <pre><code>  error: initializer element is not constant
  </code></pre>
  
  <p>If I change the char* into char[] it compiles fine:</p>
  
  <pre><code>char hi[] = "hello";
  
  char *array1[3] = 
  {
      hi,
      "world",
      "there."
  };
  </code></pre>
  
  <p>Can somebody explain to me why?</p>