title: How to pass argument array pointer in function?
body: <p><strong>I have this code:</strong></p>
  
  <pre><code>// *** foo.c ***
  
  #include &lt;stdlib.h&gt; // malloc
  
  typedef struct Node {
      char (*f)[20];
      //...
  } Node;
  
  int function(char f[30][20]){
      // Do some stuff with f...
  }
  
  int main(){
      Node * temp = (Node*)malloc(sizeof(Node));
      function(temp-&gt;f[20]);
  }
  </code></pre>
  
  <p>I would like to pass <code>temp-&gt;f</code> array pointer to function, but on compile I get these errors:</p>
  
  <pre class="lang-none prettyprint-override"><code>$ gcc foo.c -o foo
  foo.c: In function ‘main’:
  foo.c:16:5: warning: passing argument 1 of ‘function’ from incompatible pointer type [enabled by default]
       function(temp-&gt;f[20]);
       ^
  foo.c:10:5: note: expected ‘char (*)[20]’ but argument is of type ‘char *’
      int function(char f[30][20]){
          ^
  </code></pre>
  
  <p>How can I fix it? </p>