Everything in memory has an address. Arrays are in consecutive memory addresses. A pointer is a variable that contains an address. The pointer can be used to fetch the data at the address.
Rather than copy ann array of characters or a character string we usually pass around a pointer to the first character:
char *myString = "hello";
You can reference a pointer with the '*' operator OR you can use an array index as if it pointed to an array:
char firstChar = *myString;
OR
char firstChar = myString[0];
You can do addition and subtraction on pointers:
char secondChar = *(myString+1);
They are very handy. You should learn about them.