title: struct look up table using string pointers issue
body: <p>I have written the following code:</p>
  
  <pre><code>unsigned char *cPtr[] =
  {
      "First",
      "Second",
      "Third"
  };
  
  typedef struct
  {
      int a;
      char *lut;  /* or char lut[20]*/
  }Grp_t;
  
  const Grp_t Grp_st[]=
  {
      { 0, cPtr[0] },
      { 1, cPtr[1] },
      { 2, cPtr[2] }
  };
  </code></pre>
  
  <p>When I try to compile this code I got the following error:</p>
  
  <p><B>error: initializer element is not constant</B></p>
  
  <p><B>error: (near initialization for 'Grp_st[0].lut[0]')</B></p>
  
  <p>But when I replace <code>*cPtr[]</code> by <code>cPtr[][16]</code> as</p>
  
  <pre><code>unsigned char cPtr[][16] =
  {
      "First",
      "Second",
      "Third"
  };
  </code></pre>
  
  <p>I am able to successfully compile the code.</p>
  
  <p>Please can any one explain me the concept which I am missing here.</p>