title: Default int main arguments in C/C++
body: <p>I was messing around with projects in C/C++ and I noticed this:</p>
  
  <p><strong>C++</strong></p>
  
  <pre><code>#include &lt;iostream.h&gt;
  
  int main (int argc, const char * argv[]) {
      // insert code here...
      cout &lt;&lt; "Hello, World!\n";
      return 0;
  }
  </code></pre>
  
  <p>and</p>
  
  <p><strong>C</strong></p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  int main (int argc, const char * argv[]) {
      // insert code here...
      printf("Hello, World!\n");
      return 0;
  }
  </code></pre>
  
  <p>So I've always sort of wondered about this, what exactly do those default arguments do in C/C++ under int main? I know that the application will still compile without them, but what purpose do they serve? </p>