how come in the first example the output is the way it is,I understand how the second one is because I am dererencing the pointer but in the first I am not derefencing the pointer so shouldn't it print the memory address?
when I passed the current pointer to a char to cout without the * operator it printed the char in that location
and when I passed it without the * operator to cout it printed the whole array
*EDIT I think I get it now so the reason it first prints m is because current position is at char m and it prints to the char terminator then current-- decrements current to point to Z so now it prints everything up the char term which is Zm and so on?
and when you pass *current the char to a cout it just prints the char?