指针的几个运算

54 篇文章 0 订阅

指针的算术运算与解引用

指针的加减:指针的加减是是加类型(指针的类型,)类型是几个字节,指针就向前或者向后走几个字节。

指针的解引用:指针的类型决定了在对指针进行解引用的时候,能访问多少个字节,比如对char*的指针变量进行解引用只能访问一个字节,对int*的指针变量解引用能访问4个字节。一般这种操作出现在对地址的强转上,借以扩充或者缩小可以访问的地址的范围。这个在多态的虚函数表那块有应用。

C++中不会对数组越界进行检测。

void类型的指针因为对象类型不明确(即不知道是什么类型,不知道访问多少个字节),所以不允许加整数,在vs2013上是这样的。

指针相减:这个是有前提的,当两个指针都指向一个数组中的元素时,两个指针可以相减,相减的结果是一个有符号整数,表示两个指针在内存中的距离(以数组元素为单位或者说数组元素的类型为单位,而不是以字节为单位)。这个详见https://blog.csdn.net/yi_zz32/article/details/48197973。书籍c和指针6.13节也有。如果这两个指针不是指向数组中的两个元素,那么这个相减的结果是无意义的。或者说是未定义的。就像不同学校的宿舍号相减,也不能得到他们之间相差了几个宿舍

指针不能相加,相除,相乘,因为不知道表示的是什么意思。

指针的关系运算:

也就是> <  >=  <=,这些,不过前提是在一个数组,即就是一块内存空间,这样指针的大小就是地址的高低.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值