指针与指针之间的减法运算以及比较运算

来源:互联网 发布:怎么在淘宝网开网店 编辑:程序博客网 时间:2024/06/08 04:28
  1. 指针与指针之间可以做减法运算,前提是指针的类型要一致
  2. 指针与指针之间的减法运算,得到的结果是long类型的一个数,这个数表示这两个地址之间有多少个指针类型的值
  3. 指针与指针之间,只能做减法运算,不能做加法,不能做乘法,不能做除法
  4. 运用于判断两个元素之间相差多少个元素
    代码:
#include <stdio.h>int main(int argc, const char * argv[]){    int arr[] = {10,20,30,40,50};    int *p1 = &arr[0];    int *p2 = &arr[4];    long num = p2-p1;    printf("%ld\n",num);    return 0;}

输出num = 4;即相差4个元素

那么指针与指针之间的比较运算,干嘛使的呢?
判断两个地址,谁是高地址,谁是低地址,或者判断两个地址是否是同一个字节的地址

#include <stdio.h>int main(int argc, const char * argv[]){    int num1 = 10;    int num2 = 20;    int *p1 = &num1;    int *p2 = &num2;    int num = p1 > p2;    printf("%d\n",num);    return 0;}
0 0
原创粉丝点击