C语言指针运算

通过对指针的学习,我们知道了指针变量是指向一个地址的变量,对于某个变量的地址,我们也可以称其为指针。

当然,我们也可以对指针变量进行一系列的算术运算

指针+-整数

指针可以+-整数,具体要+-多少个字节的空间,取决于指针的类型,如下图:

因为数组在内存中是连续存放的,只要知道第⼀个元素的地址,顺藤摸⽠就能找到后⾯的所有元素。我们创建一个整型数组,然后将整型指针变量p指向数组的第一个元素,再通过对指针变量的循环+i(i=0,1,2,3,4,)操作,实现对数组元素的遍历。

如上图,只要我们把指针变量的类型定义为int*,那么对指针变量+1就向后访问4个字节的空间,同理,若是把指针变量的类型定义为char*,那么对指针变量+1就向后访问1个字节的空间,以此类推。

输出结果:

结论:指针变量可以+-整数,具体要+-多少个字节的空间由指针变量的类型决定

指针-指针

当两个指针同时指向同一个数组中的不同元素时,这两个指针可以执行指针-指针的操作,两个指针之间的差值的绝对值就是两个指针之间的元素个数。

如图:

创建两个整型指针变量p1,p2,分别指向整型数组中的两个元素,最后输出这两个指针之间的差值,即为这两个指针之间的元素个数。

输出结果:

结论:同一数组中的两个指针之间的差值的绝对值为两个指针之间的元素个数。

指针之间的关系运算

指向同一个数组之间的两个指针可以比较大小。

如图:

我们知道,数组使用地址的方式是由低到高的,所以指向后面元素的指针比指向前面元素的指针大。

输出结果:

结论:指向同一个数组之间的两个指针可以比较大小,由于数组使用地址的方式是由低到高的,所以指向后面元素的指针比指向前面元素的指针大

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值