减法运算符 -

- (减法) 运算符产生其操作数的差值。 两个操作数都必须具有算术或枚举类型,或者左操作数必须具有指针类型,右操作数必须具有相同的指针类型或整数或枚举类型。 不能从整数值中减去指针。

当两个操作数都具有算术类型时,将对操作数执行通常的算术转换。 结果具有操作数上的转换所生成的类型,并且不是 lvalue。

当左操作数是指针且右操作数具有整数类型时,编译器会将右操作数的值转换为地址偏移量。 结果是与指针操作数类型相同的指针。

如果两个操作数都是指向同一数组中的元素的指针,那么结果是分隔两个地址的对象数。 该数字的类型为 ptrdiff_t,在头文件 stddef.h中定义。 如果指针未引用同一数组中的对象,那么未定义行为。