I was in the same boat, but I had to force myself to learn pointers because I know it would help me in the long run, you really have to experiment with them to get a good understanding.
I'll try to break it down a little bit because the different types can be confusing.
This is a single pointer
Code:
const char *text = "myText";
This pointer is essentially pointing to this array
Code:
const char text[] = {'m','y','T','e','x','t','\0'};
This is a pointer array
Code:
const char *text[] = {
"myText", "myText1"
};
This pointer is essentially pointing to this double array
Code:
const char text[][] = {
{'m','y','T','e','x','t','\0'},
{'m','y','T','e','x','t','1','\0'}
};
So if you want to pass around the double array, you need to store it to a double pointer like this
Code:
const char **textPtr = text;
Now you can use this double pointer as if it was the original pointer array such as this
Code:
Serial.print(textPtr[0]); //Prints "myText"
Serial.print(textPtr[1]); //Prints "myText1"