title: Why create heap when creating a linked list when we can simply do this?
body: <p>I'm studying linked lists from <a href="http://geeksquiz.com/linked-list-set-1-introduction/" rel="noreferrer">this lesson.</a></p>
  
  <p>The writer (and all other coders on every single tutorial) goes through creating node type pointer variables, then allocates memory to them using typecasting and malloc. It seems kinda unnecessary to me (Offourse I know I'm missing something), why can't we implement the same using this?</p>
  
  <pre><code>struct node 
  {
    int data;
    struct node *next;
  };
  
  int main()
  {
    struct node head;
    struct node second;
    struct node third;
  
    head.data = 1;
    head.next = &amp;second;
  
    second.data = 2;
    second.next = &amp;third;
  
    third.data = 3;
    third.next = NULL;
  
    getchar();
    return 0;
  }
  </code></pre>
  
  <p>I've created nodes and the next pointers points towards the addresses of the next nodes...</p>