The end pointer, points to the first element of the array (i.e: str). The increment operator (i.e: ++end), will make end to point to the next element of the string. As you can guess, --end goes in the opposite direction. To be more blunt, those commands are used to traverse the string.