title: C compiler error: .\list.h:17:1: error: unknown type name 'Node'
body: <p>I got this error while I compile the sourcefile, it said I used a unknown type, but I have already declared a struct Node before. This is the part of source code:</p>
  <pre><code>typedef int Datatype;
  
  struct Node  // &lt;--- declaration is here
  {
      Datatype Data;
      struct Node *Next;
  };
  
  typedef struct Node *List;
  
  struct Node* makeEmpty()       // &lt;-- .\list.h:17:1: error: unknown type name 'Node'
  {
      struct Node* list = (struct Node*)malloc(sizeof(struct Node*)); // Allocate memory to dummy node
      list = NULL;
      return list; 
  }
  </code></pre>