title: Size of allocated buffer for argv in C Command line argument
body: <p>When we write a C program that can take command line arguments, we write the main function as:</p>
  
  <pre><code>int main(int argc, char **argv) {
  . . .
  }
  </code></pre>
  
  <p>We know <code>argc</code> is greater than equal to 1
  So, at least <code>argv[0]</code> exists.
  My question is what is size of allocated buffer for <code>argv[0]</code> and subsequent arguments, if any e.g. <code>argv[1]</code>, <code>argv[2]</code> etc? </p>