首页 > 代码库 > 【C语言】两个指针(地址)相减
【C语言】两个指针(地址)相减
两个指针相减,为两个指针之间间隔这两个指针类型的数目。
如:int *p,*q;
p-q=(p地址-q地址)/sizeof(int)
#include <stdio.h>int main(){ int a[9]={1,2,3,4,5,6,7,8,9}; char *p,*q; int *p2,*q2; p=(char*)a; q=(char*)&a[2]; printf("p=%08X q=%08X a[%d]=%d\n",p,q,q-p,a[q-p]); //结果为:x,x+8,8/sizeof(char),a[8]=9 p2=a; q2=&a[2]; printf("p2=%08X q2=%08X a[%d]=%d\n",p2,q2,q2-p2,a[q2-p2]); //结果为:x,x+8,8/sizeof(int),a[2]=3 getchar(); return 0;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。