C语言指针相加,相减去的问题!!

C语言中,地址值可能以两种形式存在:
1 以指针类型出现:
C语言中,指针类型值的本质为地址。
C语言规定,不同类型的指针,不可以做相减操作,只有同类才可以进行减操作。比如同样是char*,或者同样是int*等。注意int 和int*,即一维指针和二维指针属于不同类型。
同类型相减的计算原则为
T *a, *b;
a-b=(a与b值的算术差值)/sizeof(T);
2 以整型变量形式。比如将地址值转为long型存储,这时地址本身已经转换成了一个整型变量,所以相减结果就是值的算术差。

猜你喜欢

转载自blog.csdn.net/weixin_43276867/article/details/84952728