str
can be regarded as pointing to the memory address associated with a character sequence of length STRING_LENGTH. As such, c pointer arithmetic is being exploited in your statement str + n
. What is is doing is pointing to the memory address of the n
th character in the character sequence.