title: Understanding code in c (linked lists)
body: <p>I am having big problems understanding linked lists and I would be very thankful if someone could explain me the following.</p>
  
  <pre><code>Element_t *pushfront(Element_t *list)
  { 
  if(list==0)
  return allocate();
  
  list-&gt;prev=allocate();
  
  list-&gt;prev-&gt;next=list;
  
  list=list-&gt;prev;
  
  return list;
  }
  </code></pre>
  
  <p>What here means <code>list-&gt;prev-&gt;next=list</code> ?</p>
  
  <p>What means this: <code>f-&gt;next-&gt;prev=f-&gt;prev</code>?</p>
  
  <p>I know that this is just a part from program code, but I hope someone can give me general meaning of these as simpliest as can?</p>