title: What is the identifier of typedef struct
body: <p>I came up to learn linked list. But, I'm quite confused with several ways of declaring linked lists with struct. </p>
  
  <p>this is one way,</p>
  
  <pre><code>typedef struct Nodetag {
  int dataNum;
  struct Nodetag* nextNode;
  } NODE;
  </code></pre>
  
  <p>and this is another way not using typedef</p>
  
  <pre><code>struct NODE {
  int dataNum;
  struct NODE* nextNode;
  };
  </code></pre>
  
  <p>I'm curious, when we are declaring with <code>typedef</code>, I know the <code>Nodetag</code> is used to let the compiler know what <code>struct Nodetag* nextNode;</code> is. But then, what is the actual identifier of the <code>struct</code>? <code>Nodetag</code> or <code>NODE</code>? if it is <code>Nodetag</code>, when is <code>NODE</code> used?</p>