Lo del char **cadena, es un doble puntero, también visto como un puntero a puntero a carácter, puntero a vector de caracteres, o por ejemplo, un vector de palabras.
Imagínatelo como una matriz, al fin y al cabo es eso. salvo que en vez de ser una matriz de enteros, es una matriz de caracteres. Acceder a cadena[j] te da un carácter, acceder a cadena (nótese sólo un []) te da una cadena.
Espero haberme explicado bien, de forma que se entienda.
Por otro lado, el enunciado es confuso, pero básicamente te está diciendo, que una vez copies el elemento, modifiques el doble puntero para que apunte al siguiente elemento al que acabas de copiar.
cadena++;
de esa forma desplazas el puntero a la siguiente "palabra". Una forma bastante oscura, pero bueno...
Imagínatelo como una matriz, al fin y al cabo es eso. salvo que en vez de ser una matriz de enteros, es una matriz de caracteres. Acceder a cadena[j] te da un carácter, acceder a cadena (nótese sólo un []) te da una cadena.
Espero haberme explicado bien, de forma que se entienda.
Por otro lado, el enunciado es confuso, pero básicamente te está diciendo, que una vez copies el elemento, modifiques el doble puntero para que apunte al siguiente elemento al que acabas de copiar.
cadena++;
de esa forma desplazas el puntero a la siguiente "palabra". Una forma bastante oscura, pero bueno...