为什么传进来的参数值会被改变?

Lino 2007-02-06 12:14:40
boolean TAPICallVoiceOriginate::GetRemapTelno( CALL_TELNO_REROUTE_MAPPING_T *Renum )
{
INT32 *pnum;
.........
IFILE_Read(fp, pnum, sizeof(INT32));
.........
}

在读入值后,发现*Renum的值被改变了,变成pnum的值了。
请问是怎么回事?
...全文
421 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
FingerStyle 2007-02-06
  • 打赏
  • 举报
回复
给出完整代码 啊...
上面的代码里根本没用到 *Renum啊...
du51 2007-02-06
  • 打赏
  • 举报
回复
你问的东西.根本没法回答..
你的参数Renum 在函数中用的地方打出来呀.
Lino 2007-02-06
  • 打赏
  • 举报
回复
调试后发现,居然*pnum和*Renum的地址分配的一样的,
这是为什么啊?
jixingzhong 2007-02-06
  • 打赏
  • 举报
回复
调试后发现,居然*pnum和*Renum的地址分配的一样的
========================
INT32 *pnum;
......... //这里
IFILE_Read(fp, pnum, sizeof(INT32)); //或者这里,对 pnum 是如何分配的内存?

检查一下 pnum 的内存分配是如何进行的 ~
Lino 2007-02-06
  • 打赏
  • 举报
回复
后面才用到*Renum啊
IFILE_Read(fp, pnum, sizeof(INT32));
//这个时候Renum的值已经被改变了

for (i=0; i<*pnum; i++)
{
if (WSTRNCMP(Renum->route_telno, p_table[i].route_telno, sizeof(Renum->route_telno)) == 0 )
{
WSTRCPY(Renum->dest_telno, p_table[i].dest_telno);
break;
}
}

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧