title: Difference between extern and global variables?
body: <pre><code>    #include &lt;stdio.h&gt;
  
      int i;
  
      int main()
  
      {
  
          extern int i;
  
          if (i == 0)
  
              printf("scope rules\n");
  
      }
  </code></pre>
  
  <p>Output:
  scope rules</p>
  
  <p>How extern variable works here?</p>
  
  <p>Why there is no error like
  <code>Compile time error due to multiple declaration</code></p>