Vedili un po' come delle matrici:
codice:
int **pt = NULL;
int *p = NULL;
int a = 5;

/*Allocazioni*/
pt = (char**)malloc(sizeof(char*)*numero_righe);
for(i = 0; i < numero_righe; i++)
   *(pt+i) = (char*)malloc(sizeof(char)*numero_colonne);
/**********/

p = &a;
pt = &p;
*pt; /*Uguale a pt*/
**pt; /*Uguale ad a*/

pt++; /*Uguale a pt = &pt[1]*/
pt = &p;
(*pt)++; /*Uguale a p++*/
Forse non ti sono molto di aiuto, ma ci ho provato.