title: passing arg 1 of `foo' from incompatible pointer type
body: <p>Why this shows warning: </p>
  
  <pre><code>#include&lt;stdio.h&gt;
  foo (const char **p)
  { 
  
  }
  
  int main(int argc , char **argv)
  {
      foo(argv);
  }
  </code></pre>
  
  <p>But following does not show any warning </p>
  
  <pre><code>char * cp;
  const char *ccp;
  ccp = cp;
  </code></pre>
  
  <p>The first code snippet shows warning passing arg 1 of <code>foo</code> from incompatible pointer type. But the second snippet does not show any warning. Both are <code>const</code> pointers</p>