title: How to pass the address of a double pointer to another double pointer
body: <p>How can I pass the address of a double pointer to an other?
  I have this code and it's working correctly only if i set the commented line. Why the size is different?</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  #include &lt;stdlib.h&gt;
  #include &lt;string.h&gt;
  int main(){
      char *s1[]={"this","is","a","test"};
      char **s2;
      int i;
      s2=malloc(sizeof(s1)*sizeof(char *));
      s2=s1;
      for(i=0;i&lt;sizeof(s2)/sizeof(char *);i++)//for(i=0;i&lt;sizeof(s1)/sizeof(char *);i++)
          printf("%s",*(s2+i));
      return 0;
  }
  </code></pre>