title: Declared a self referential struct in 'header.h' file and trying to define it in 'main.c' and this causes error
body: <p><strong>"main.c"</strong></p>
  
  <pre><code>#include "header.h"
  
  int main()
  {
      int ch;
      start = NULL;
      printf("Enter your choice:\n");
      printf("1 --&gt; To create list\n");
  
      switch (ch)
      {
      case 1:
          start = create(start);
          break;
      }
  }
  </code></pre>
  
  <p><strong>"header.h"</strong></p>
  
  <pre><code>#include&lt;stdio.h&gt;
  #include&lt;stdlib.h&gt;
  #include&lt;string.h&gt;
  
  typedef struct node NODE;
  
  struct node
  {
  int info;
  NODE* link;
  };
  
  extern NODE *start;
  
  NODE* create(NODE*);
  </code></pre>
  
  <ul>
  <li>The error is undefined reference to 'start' in main, but i have already declared it the header file, and i have even included 'header.h' file in 'main.c' file.</li>
  </ul>