char* is a pointer to char, char ** is a pointer to a pointer to char. char *ptr; does NOT allocate memory for characters, it allocates memory for a pointer to char. char arr[10]; allocates 10 characters and arr holds the address of the first character. More @Wikipedia
Hover over any link to get a description of the article. Please note that search keywords are sometimes hidden within the full article and don't appear in the description or title.