社区
Linux/Unix社区
帖子详情
传递给函数的参数自己变动了
sadgod
2008-06-03 10:45:06
我传给一个函数的参数到了这个函数的内部自己就变了,怎么回事?
如
destroy(p);//在这里,p= 0x08123456;
到了destroy内部
只有一句话
free(p);//用GDB之类打印 p就自动变成了一个很大的数类似:0xF7654321;
程序是多线程的,请教高手这是什么原因呢?
...全文
178
7
打赏
收藏
传递给函数的参数自己变动了
我传给一个函数的参数到了这个函数的内部自己就变了,怎么回事? 如 destroy(p);//在这里,p= 0x08123456; 到了destroy内部 只有一句话 free(p);//用GDB之类打印 p就自动变成了一个很大的数类似:0xF7654321; 程序是多线程的,请教高手这是什么原因呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
悠悠长风
2008-06-03
打赏
举报
回复
1,看看是不是被别的线程改了;你可以在destroy多停一下,看看是否会变化;
2,用watch吧,这样就可以直接定位到p变化的位置;
sadgod
2008-06-03
打赏
举报
回复
自己顶~~
杨帆_8318
2008-06-03
打赏
举报
回复
mark
试试tsd啊
lihua_1687
2008-06-03
打赏
举报
回复
有可能是多个线程公用了p这个变量
xzdwfwt111
2008-06-03
打赏
举报
回复
[Quote=引用 2 楼 悠悠长风 的回复:]
1,看看是不是被别的线程改了;你可以在destroy多停一下,看看是否会变化;
2,用watch吧,这样就可以直接定位到p变化的位置;
[/Quote]
sadgod
2008-06-03
打赏
举报
回复
to 悠悠长风:
被别的线程修改我估计是最可能的,但是现在问题是p的值不可能被别的线程直接修改,所以我怀疑的情况是本线程的栈被其他线程覆盖了,这种情况可能发生嘛?
geldqb
2008-06-03
打赏
举报
回复
mark
JS深度揭秘第二章-
函数
深入
1、自执行
函数
原理 2、模块化开发 3、惰性
函数
4、箭头
函数
5、
函数
参数
默认值及
传递
方式 6、reset
参数
7、块级作用域 8、堆栈概念 9、垃圾回收机制 10、执行上下文 11、变量对象 12、作用域原理 13、this原理 14、...
Python
函数
参数
的值
传递
机制
Python中,
函数
参数
由实参
传递
给形参的过程,是由
参数
传递
机制来控制的。通过学习《Python
函数
值
传递
和引用
传递
》一节我们知道,根据实际
参数
的类型不同,
函数
参数
的
传递
方式分为值
传递
和引用
传递
(又称为地址
传递
)...
C++
函数
参数
的引用方式
非常量引用
参数
允许修改
传递
给
函数
的实参,而常量引用
参数
只能读取实参的值,不能进行修改。引用
传递
是指将实参的引用
传递
给形参,在
函数
中对形参的修改会同时修改实参。值
传递
是指将实参的值复制给形参,在
函数
中对...
vb与c语言数组
传递
,VB几种
函数
参数
传递
方法,Variant,数组,Optional,ParamArray
VB几种
函数
参数
传递
方法,Variant,数组,Optional,ParamArray一) 过程的
参数
被缺省为具有 Variant 数据类型。1)ByRef按 地址
传递
参数
在 VB 中是缺省的按地址
传递
参数
后,过程返回的也是地址,
函数
中改变了的变量值...
VB几种
函数
参数
传递
方法,Variant,数组,Optional,ParamArray
VB几种
函数
参数
传递
方法,Variant,数组,Optional,ParamArray 一) 过程的
参数
被缺省为具有 Variant 数据类型。 1)ByRef按 地址
传递
参数
在 VB 中是缺省的 按地址
传递
参数
后,过程返回的也是地址,
函数
中...
Linux/Unix社区
23,125
社区成员
74,509
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章