The declaration will look like
char * ar[10][10];
char * ( *p_ar )[10][10] = &ar;
Dereferencing the pointer for example in the sizeof
operator you will get the size of the array because the expression will have type char[10][10]
printf( "%zu\n", sizeof( *p_ar ) );
The output will be equal to 100
To output for example the first string of the first row of the original array using the pointer you can write
printf( "%s\n", ( *p_ar )[0][0] );
To output the first character of the first string of the first row of the original array using the pointer you can write
printf( "%c\n", ( *p_ar )[0][0][0] );
or
printf( "%c\n", *( *p_ar )[0][0] );
You could also declare a pointer to the first element of the array
char * ar[10][10];
char * ( *p_ar )[10] = ar;
In this case to output the first string of the first row of the original array using the pointer you can write
printf( "%s\n", p_ar[0][0] );
To output the first character of the first string of the first row of the original array using the pointer you can write
printf( "%c\n", p_ar[0][0][0] );
or
printf( "%c\n", *p_ar[0][0] );