指针的加减法及附加思考

本文详细介绍了指针的加减运算规则,包括如何计算地址变化和不同类型的指针加减法。通过实例展示了指针在加减字节后的地址变化,并解释了当以字节为单位进行指针操作时,可能会导致的意外结果。通过对数据在内存中的存储形式的分析,揭示了这种现象的原因。
摘要由CSDN通过智能技术生成

指针的加减法
指针可以加减任意一个整形数据,运算规则为:
指针+n:加n个单元格(加nsizeof(对应指针去除一个星号)个字节)
指针-n:减n个单元格(减n
sizeof(对应指针去除一个星号)个字节)
加减单元格很好懂,地址的变化可能有些复杂,其实举个例子理解起来就能简单很多
在这里插入图片描述

先给指针变量p初始化一个地址,然后对其进行各种数据形式的转换再加减几个数。
输出结果为:
在这里插入图片描述
第一个p-2,就是地址减两个int型的大小,也就是8,结果就是1000-8=992,之后的几个算法类似。
第四个计算的是一个三级指针的运算,根据法则是要减去2sizeof(对应指针去除一个号)个字节,去除一个星号还是一个指针变量,其大小在32位操作系统中是4字节,在64位操作系统中是8字节,根据操作系统的不同结果也不同。

指针与指针可以相减但不可以相加
指针-指针:表示为间隔的单元个数(可正可负)
步骤为:1、算出字节数,2、除以sizeof(指针去掉一个*)
也具个类似的例子

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值