C语言之指针(三)

三、指针的算术运算
(当指针指向数组元素的时候,指针的算术运算才有意义)

  1. 什么叫指针的算术运算?
    我们都知道对数值型数据进行的算术运算(加、减、乘、除、等等) int a,b.c; a=1;b=2; c=a+b;指针也就是地址,指针的算术运算就是对地址进行运算。

  2. 指针的算术运算的意义
    在指针指向数组的时候,对指针进行算术运算,就对引用数组元素提供了方便,列如指针变量p指向数组a的首地址a[0],那p+1就指向了a[1]

  3. 指针的算术运算有哪些?
    加上一个数(p+1)、减去一个数(p-1)、自加(p++,++p)、自减、两个指针相减(p1-p2)这些运算的结果在若在数组的地址范围内都是有意义的,并且若进行两个指针相减运算这两个指针必须要指向同一数组才有意义;指针的乘、除和两个指针的相加是没有意义的

  4. 用指针引用数组运算的具体操作
    一个数组的数组名就是该数组的首地址,即a==&a[0],所有我们可以把数组名赋给指针变量即p=a,或把数组中某个元素的地址赋给指针变量p=&a[0],然后可以对p进行加减运算,p+1即指针指向了a[1],p-1因为p我们开始让它指向了数组的首元素a[0],所以p-1在这就不在数组内了,没有意义,(我们在进行指针的算术运算时一定要让指针指向数组元素且不能超出所指数组的地址),我们要取出指针所指的数组元素时进行 ∗ * (p+i)或 ∗ * (a+i)

  5. 在用指针指向数组元素并进行运算时要注意指针变量的类型和数组的类型,因为p+1代表的是当前数组元素的地址再加上这个数组的一个数组元素所占的字节从而使p+1指向下一个数组元素,在不同数组类型中,一个数组元素所占字节数不同(int、float、long都是占4个字节,char占1个)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值