跪求一个很简单的C++指针问题

intv1;function(*(v1+8)+100);这里指的是,v1指针偏移8位以后的数据+100可是v1不是指针,v1是一个int类型那么传入function的参数... int v1;
function ( * (v1 + 8 ) + 100 );

这里指的是, v1指针偏移8位以后的数据 + 100
可是 v1 不是指针, v1 是一个int类型

那么 传入function 的参数 是什么呢?
这是IDA编译出来的伪代码, 大家认为要怎么修改, 别人成功过!!
展开
 我来答
C_C_猫
2013-11-02 · TA获得超过122个赞
知道小有建树答主
回答量:160
采纳率:0%
帮助的人:132万
展开全部
某一个非常未知的地址(地址值为v1+8)的非常危险的值+100
可能产生各种后果。。。。
如果楼主想写的是&v1+8那就是&(v1+64) 对于int32是&(v1+32)
没看懂。。。楼主请贴题干
龍不悔
2013-11-02 · TA获得超过1137个赞
知道小有建树答主
回答量:271
采纳率:0%
帮助的人:492万
展开全部
我记得你之前问过类似的指针问题。
其实指针的本身就是一个数值,所以将一个整数看做一个地址是完全没有问题的,这里面就是这样处理的,不过如果这个地址不在代码的可访问空间的范围,可能会造成运行错误。

我表示也没太理解你的意思,可方便把源码贴出来看看。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
疋疋NS
2013-11-02 · 超过23用户采纳过TA的回答
知道答主
回答量:112
采纳率:0%
帮助的人:16.8万
展开全部
v1是一个变量,默认为0,与8计算后得到的值用指针指向它的地址,然后地址再偏移100个位置,所以里面应该传的是地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-02
展开全部
* (v1 + 8 ) 当v1是int类型的时候根本不可能编译通过……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式