这是调试的时候出现的问题
g_pPhoneUser与puInfo是相同的结构的指针,指向相同的地址
唯一的区别在于:
g_pPhoneUser是个全局变量,而puInfo某个函数的参数
我在单步到该函数内部之后,同时比较这两个变量却发现,它们的值是一样的,该结构体成员值不一样!!!!!!!
明明指向了相同的结构及地址!!!!我打开内存窗口之后,输入这个地址查看,发现它的正确值应该是g_pPhoneUser所指示的,我就想不明白了,为什么puInfo就成了这样的呢???非常感谢!!!

解决方案 »

  1.   

    图片连接来自百度的空间
    是不是有人看不见?
    我用文字再描述一下变量名             内存地址值
    g_pPhoneUser    0x50e00004 {szFirstName=0x000313c8 szLastName=0x000313e8 ...}
    puInfo          0x50e00004 {szFirstname=0x00740000 szLastName=0x00320033 ...}
      

  2.   

    两个是相同的结构刚刚发现,原来是因为在Release版本下调试的原因
    但想想,Release版本调试为什么会出现这种情况?数据不应该改变才对的!
      

  3.   

    release和debug版指针是不一样的。
      

  4.   

    Release版调试时显示的信息经常是错的,是调试器的问题,程序运行是没问题的。