title: pointers N linked list in C
body: <p>I wrote to following code which does not work. The application crashes on the print method.
  Any idea where it goes wrong?</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;
  
  typedef struct
  {
      int item;
      struct LinkedList *Next;
  } LinkedList;
  
  int main()
  {
      LinkedList vaz;
      vaz.item = 14123;
      vaz.Next = 0;
      add(&amp;vaz,123);
      add(&amp;vaz,9223);
      Print(&amp;vaz);
      return 0;
  }
  void Print(LinkedList* Val)
  {
      if(Val != 0){
          printf("%i\n",(*Val).item);
          Print((*Val).Next);
      }
  }
  void add(LinkedList *Head, int value)
  {
      if((*Head).Next == 0 )
      {
          LinkedList sab;
          sab.item = value;
          sab.Next = 0;
          (*Head).Next = &amp;sab;
      }
      else{
         add((*Head).Next,value);
      }
  }
  </code></pre>