首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

为啥执行一句C语言时,不相关的变量的值也改变

2013-07-09 
为什么执行一句C语言时,不相关的变量的值也改变?为什么执行 p_queue-msg_handles[p_queue-index_free_ms

为什么执行一句C语言时,不相关的变量的值也改变?
为啥执行一句C语言时,不相关的变量的值也改变
为啥执行一句C语言时,不相关的变量的值也改变
为啥执行一句C语言时,不相关的变量的值也改变
为啥执行一句C语言时,不相关的变量的值也改变
为啥执行一句C语言时,不相关的变量的值也改变

为什么执行
 p_queue->msg_handles[p_queue->index_free_msg] = msg_handle;
这个调语句的时候
1、BTCommand里面的u1MessageType值
2、BTMessage里面的u1MessageType值
都改变?在执行之前我给u1MessageType赋值0x62,但是执行上面说的那句后,u1MessageType就变成0了,但是这两个变量和上面那条语句没关系啊?
[解决办法]
p_queue->msg_handles[p_queue->index_free_msg] = msg_handle;

在这句之前用OutputDebugString或是fprintf(stderr,...)把
BTCommand
BTMessage
&(p_queue->msg_handles[p_queue->index_free_msg])
BTCommand->u1MessageType
BTMessage->u1MessageType
都输出出来
然后在这一句之后也同样输出一遍,根据两次的输出结果再去分析。

热点排行
Bad Request.