title: What does *arr[] mean?
body: <p>i have this code from my previous exam and it's the first time I  see this <code>*arr[]</code>.  What does that mean? Is it a matrix or an array?
  And what does it contain?</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  void f2(int **a, int x, int y);
  int main()
  {
    int m[3][4] = {{7,12,11,21 }, {20,1,2,3}, {33,42,11,50}};
    int *arr[] = { m[0], m[1], m[2] };
    f2(arr, 3, 4);
    _getch();
    return 0;
  }
  
  void f2(int **a, int x, int y)
  {
    if (x &gt; 0)
    {
      int i, j = 0, *p = a[x - 1];
      for (i = 0; i &lt; y; i++)
      {
        if (!(p[i] % 3))
          printf("%d ", p[i]);
      }
      f2(a, x - 1, y);
    }
    else
      printf("\n");
  }
  </code></pre>