发新帖我要提问
12
返回列表
打印

另一个指针所指向的变量发生了改变

[复制链接]
楼主: supernan
手机看帖
扫描二维码
随时随地手机跟帖
21
hanwe| | 2020-7-4 20:51 | 只看该作者 回帖奖励 |倒序浏览
楼主检查一下下面这个赋值语句对不对?add=ss[2];

使用特权

评论回复
22
zhanglli| | 2020-7-4 20:54 | 只看该作者

循环体当然不会影响指针所指向的变量

使用特权

评论回复
23
happy_10| | 2020-7-4 21:01 | 只看该作者
这种情况要么出现一些数组越界,要么程序确实有地方改动,只是你没注意, 建议上详细代码.

使用特权

评论回复
24
tian111| | 2020-7-4 21:04 | 只看该作者
for(fx=ss[0];fx>0;fx--)
                {
                    i=(unsigned char*)add;
                    *i=ss[ref];
                    ref++;
                    add++;
                }

这段代码写得稀里糊涂,你仔细看看把

使用特权

评论回复
25
wangpe| | 2020-7-4 21:07 | 只看该作者
估计是循环体运行的时候其他程序段改动了。

使用特权

评论回复
26
dingy| | 2020-7-4 21:11 | 只看该作者
你说的问题肯定不存在,至于你的问题,你给的代码根本没有办法看

使用特权

评论回复
27
supernan|  楼主 | 2020-7-4 21:14 | 只看该作者

唉,还是没有什么结果,算了,多谢大家啦

使用特权

评论回复
28
wooda| | 2020-7-6 09:04 | 只看该作者
楼主的贴子,得上下结合,多方理解,然后判断现象是哪一个变量上发生的,然后还要琢磨程序流程(这个部分是最简单的,对各位看官来说),然后根据程序流程猜测收到的通信包的结构。。。
最后,只能猜测
我猜测的问题是add的赋值和强制add转成指针类型并进行取数操作:
。。。
   add=ss[2];
。。。
   i=(unsigned char*)add;
                    *i=ss[ref];
。。。。
add作为指针,指向的是芯片地址空间,ss[2]这个ss数组是用来管理内部地址空间的分配表么?
如果是这样,这个点所映射出来的 程序对内部资源的管理技巧,已经有点超越我的编程能力范围了。

使用特权

评论回复
29
coshi| | 2020-8-4 14:09 | 只看该作者
看看地址是不是有问题啊

使用特权

评论回复
30
zljiu| | 2020-8-4 14:10 | 只看该作者
楼主问题解决了吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则