title: Static initialization in C
body: <p>I want to have code that looks something like this...</p>
  
  <pre><code>static linked_list* globalListHoldingAllSortsOfGoodies = initialize_linked_list();
  
  /* [In a different file...] */
  static int placeholder = add_to_global_list(goodies);
  </code></pre>
  
  <p>But non-constant initialization is impossible in C.</p>
  
  <p>Is there some way to get the same affect without breaking C89?</p>
  
  <p>The point is to have different things "automatically register" themselves into the global list by declaring the goodies with a macro that also uses placeholder.</p>