- char *num;
- char *last;
- int offset = last - num;
- 这行代码执行了指针减法运算。
last
和num
都是指向char
类型数据的指针,last - num
计算的是这两个指针之间相差的char
元素个数。 - 这里的指针减法与普通的整数减法不同。当进行
last - num
这样的指针运算时,编译器实际上计算的是两个指针所指向地址之间的差值,并且这个差值是以所指向数据类型的大小为单位的。对于char
类型的指针,每个单位的大小是1字节,因此指针之间的差值直接对应着它们之间相差的字符数。