两指针相减怎么求?

        众所周知,两指针相减的绝对值=两个指针之间的元素个数,但是他们是怎么求得的你知道吗?接下来来看这么一个例题:

        我们创建了一个二维数组以及一个数组指针,将二维数组的数组名(也就是第一行元素地址赋给p),求出&p[4][2]-&arr[4][2]之间的​​​​元素个数。

        再来看下面这一张图,我们知道,数组元素的存储是连续的,数组元素类型为int型,而指针p指向的数组元素也是int型,其所指向的数组包含4个整型元素。

        p首元素地址与arr[0]地址相同;不同在于,arr每次+1,就会跳过5个整型,p每次+1,只会跳过4个整型。而&p[4][2]=*(p+4)+2,由上图可知&p[4][2]=&arr[3][3],结果如下图,这时我们可以看到,arr[3][3]与arr[4][2]之间正好是4个元素。

       

        作者才疏学浅,如有错误,希望能够不吝教诲,共同进步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值