I have the following source:
#include
using namespace std;
void main(int j)
{
char arr[10][10];
char** ptr;
ptr = arr;
}
Arrays aren't pointers.
An array decays to a pointer in most circumstances, but this isn't recursive. So a T[] decays to a T *, but a T[][] doesn't decay to a T**.
I suggest reading the whole of the C FAQ chapter on arrays and pointers; in particular, the section on 2D arrays and pointers-to-pointers.