title: error in static storage class in structure initialization
body: <p>'C' seem to permit initialization of members of a structure inside a function as long as the storage class of the structure is not 'static', Trying to do so returns following compilation error:</p>
  
  <blockquote>
    <p>error: initializer element is not constant</p>
  </blockquote>
  
  <p>Code snip</p>
  
  <pre><code>typedef struct data {
      int age;
      char *name;
  } data_t;
  
  void foo(data_t student)
  {
      //data_t s1 = student; &lt;--- works
      static data_t s1 = student; &lt;--- throws error
      printf("%s: s1.age: %d, s1.name: %s\n",__FUNCTION__,s1.age, s1.name);
  }
  </code></pre>
  
  <p>Appreciate, if you throw some insight.</p>