title: Assignment from incompatible pointer type to 2d array
body: <p>I'm not sure why this is happening, I think I'm doing everything correctly. Maybe someone can help point me in the right direction.</p>
  
  <p>At the end of the code I got "passing argument 1 from incompatible pointer type". What is wrong?</p>
  
  <pre><code>char* fun(char **tab,int n,int m){
      char *tab1;
      tab1=malloc((n+m+2)*sizeof(char));
      /*
        */  
      return tab1;
  }
  
  int main(){
      char tab[4][6]={ {'g','h','t','e','g','d'},
                      {'j','h','y','t','r','e'},
                      {'g','h','j','y','r','t'},
                      {'y','d','s','q','w','e'} };
      fun(tab,6,4); //here got"passing argument 1 from incompatible pointer type
      return 0;
  }
  </code></pre>