Subtraction of Pointer Types 

If both operands are pointers, the result of subtraction is the difference (in array elements) between the operands. The subtraction expression yields a signed integral result of type ptrdiff_t (defined in the standard include file STDDEF.H).

One of the operands can be of integral type, as long as it is the second operand. The result of the subtraction is of the same type as the original pointer. The value of the subtraction is a pointer to the (ni)th array element, where n is the element pointed to by the original pointer and i is the integral value of the second operand.

See Also

Reference

Expressions with Binary Operators