指针变量p1减p2的意义为:
如果是正值,则表示在内存中p1比p2靠后
如果是负值,则表示在内存中p1比p2靠前
结果的数字表示, 两个地址在内存中间隔多少个指针类型的字节倍数,
例如:下面打印的num结果=3,表示的是p1和p2在内存中他们地址的间距为3个int大小的字节,即:3×4=12个字节
例如:下面打印的num结果=3,表示的是p1和p2在内存中他们地址的间距为3个int大小的字节,即:3×4=12个字节
(注意:如果先声明 int b = 20; 再声明
int a = 10000; 最后打印的num结果 = -3)
int a = 10000;
int b = 20;
int *p1 = &a;
int *p2 = &b;
int num = p1 - p2;
printf("p1= %x\n", p1);
printf("p2= %x\n", p2);
printf("num的地址=%x, num=%d\n", &num, num);
printf("num的地址=%x, num=%d\n", &num, num);