A char pointer is a variable that stores an address to a char variable.
char* charPoint=NULL;(pointer doesn't point to anything)
char charVariable='a';
cout << *charPoint; //dereference pointer, doesn't point to anything, will not work
cout << charPoint; //will work, gives the address it currently stores. Right now its a NULL character
charPoint=&charVariable; //pointer is set to the address of a character variable
cout << *charPoint; //now dereferenced, this output puts an 'a' on the screen
cout << charPoint; //this gives us the actual address of the variable
cout << &charVariable; //this does the same thing as above
cout << &charPoint; //this gives us the address of the variable that stores the address of a variable. Huehuehue