http://kor.i2p/books/The%20C%20Programming%20Language%20by%20K&R/chapter5.html
Because p points to characters, p++ advances p to
the next character each time, and p-s gives the number of characters
advanced over, that is, the string length. (The number of characters in the
string could be too large to store in an int . The header < stddef.h > defines a type ptrdiff_t that is large
enough to hold the signed difference of two pointer values.