Buenas!, seguramente habras llegado en algun lugar que se suele llamar:
punteros a punteros.
Que significa eso?
Pues muy facil, con un ejemplo lo entenderas:
Código:
int Int = 10;
int* pInt = ∬
int ** ppInt = &pInt; // Puntero a Puntero
Significa, la direccion de la direccion de un valor
Podriamos decir asi:
ppInt apunta a pInt mientras que pInt apunta a Int
Eso es un poco mas entendible no?
Lo que tienes tu, es el siguiente:
char* TablaCad[nElementos];
Esto significari lo siguiente:
TablaCad[0] = "Espero";
TablaCad[1] = "Que";
TablaCad[2] = "Entiendas";
...
Significa que cada posicion de la matriz, contiene una direccion de char ( que serian los char*, o tambien cadenas de caracteres). Para hacerlo mas claro:
int* TablaCad[nElementos];
Significa lo siguiente ( direcciones almacenadas en un vector ):
TablaCad[0] = 0xFFFF;
TablaCad[1] = "0xA0FF";
TablaCad[2] = "0xBF02";
...
Espero ser el maximo entendible posible...
Saludos!