title: What does "List * list" do in Learn C the Hard Way Ex32
body: <p>In lcthw ex32, functions are definde as:</p>
  <pre><code>List *List_create();
  void List_destroy(List * list);
  void List_clear(List * list);
  void List_clear_destroy(List * list);
  </code></pre>
  <p>I understood the basic logic, but have no idea what does <code>List * list</code> means. Shouldn't it be <code>List *list</code> to specify it as a <code>List</code> struct? Why it has to be <code>List * list</code>?</p>