Help with char*

int ledPin = 13;

char* letters[] = {
  ".-", " -...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", //A-I
".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", //J-R
"...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."}; //S-Z

char* numbers[] = {
  "-----", ".----", "..----", "...--", "....-", ".....", "-....",
  "--...", "---..", "----." }
  
  int dotDelay = 200;
  
  void setup()
  {
    pinMode(ledPin, OUTPUT);
    Serial.begin(96000;
  }
  
  void loop()
{
char ch;
if (Serial.available())

I know this is a noob question, but can you tell me what char* does in the above code. I thought char only stores alphabets and numbers. And should I always use star after char. And it is storing multiple items like an array. I don't understand anything.

And also what is "char ch;" doing in "void loop()". This may seem silly but I don't know anything about char and this seems very complex to me.

This isn't really the place for answering in detail your question.

See if you can find C/C++ tutorials online.

Pointers, arrays and strings are fundamental building-blocks; you really need to understand them.

Can you point me to a good tutorial. Should I search for C tutorial or a C++ tutorial. It is very confusing.

The concepts are the same in both languages.
I just googled "C tutorial pointers", and got over twelve million hits. Some of them must be OK.