title: Linked list: struct for creating(?) Node?
body: <p>I came across typedef declaration or definition(?) while learning about linked listsin c:</p>
  
  <pre><code>typedef struct _node{
   int a;
   struct _node* next
  } node;
  </code></pre>
  
  <p>I have no idea how it can work since the above typedef declaration's body it initiates a pointer variable with its own structure(it seems like _node is being used while defining _node). Or is there anything wrong in my understanding of what it actually does? From depiction maybe I got confused over different terms as well.</p>