title: What does char * argv[] means?
body: <p>I'm new to C programming, I encountered a problem.<br>
  In case of complicated declarations i found this</p>
  
  <pre><code>int *daytab[13]; // daytab is an array of 13 pointers to int
  </code></pre>
  
  <p>which means <code>daytab</code> is the name of the array and the name of the array points to the first element of the array. The array name is not compatible with pointer manipulation like <code>daytab++</code> etc (correct me if I'm wrong).</p>
  
  <p>But I found this code written in Dennis Ritchie</p>
  
  <pre><code>main(int argc, char * argv[]) {
      while( --argc &gt; 0 )                    
          printf("%s%s",*++argv,(argc&gt;1) &gt; " " : "");
  
      printf("\n");
      return 0;
  }
  </code></pre>
  
  <p>How can they manipulate <code>argv</code>? Is it not the array name?</p>