title: How does the main() method work in C?
body: <p>I know there are two different signatures to write the main method -</p>
  
  <pre><code>int main()
  {
     //Code
  }
  </code></pre>
  
  <p>or for handling command line argument, we write it as-</p>
  
  <pre><code>int main(int argc, char * argv[])
  {
     //code
  }
  </code></pre>
  
  <p>In <code>C++</code> I know we can overload a method, but in <code>C</code> how does the compiler handle these two different signatures of <code>main</code> function?</p>