请问:0xdddddddd的含义是什么?

zwz 2003-07-09 10:37:57
VC中声明一个char指针,如char * pchar,在debug状态下未赋值时是0xcccccccc,如果pchar = NULL后,为0x00000000。
那么有时我会遇到一个指针值为0xdddddddd,此既非NULL值,也不是声明后未赋值,那是什么意思,如何会出现这种情况的。谢谢指教!!!!
...全文
4712 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
NewFree 2003-07-09
  • 打赏
  • 举报
回复 1
野指针”
不过,未初始化有时是0xcdcdcdcd

自己养成初始化指针的好习惯!
可见 林锐著《高质量C++编程》
zwz 2003-07-09
  • 打赏
  • 举报
回复
to zPerry(旧日重来):
谢谢!
那么你的意思是在debug环境下,对于一个已经填充为0xdd的指针,在if (pointer == NULL)情况下产生的错误,在realease版本中不会出现???
那么,我有如何在debug环境中避免出现if (pointer == NULL)所产生的错误呢?就是我如何判断此指针所指的内存已经delete??
zPerry 2003-07-09
  • 打赏
  • 举报
回复
VC++ 在 Debug 编译方式编译的程序中,会跟踪用 new 分配的内存。新分配的内存会用 0xcd (助记词为 Cleared Data)填充,防止未初始化;当它被 delete 后,又会被 0xdd(Dead Data) 填充,防止再次被使用。这样有利于调试内存错误。之所以选这样的填充模式,是因为:1.大数,若被当成指针就会越界 2.奇数,指针通常指向偶数地址 3.非0,这样不会和 NULL 混淆。
在 Release 版中不会有这些字节填充。
HanZhu1 2003-07-09
  • 打赏
  • 举报
回复
“野指针"
pointer = NULL;
zwz 2003-07-09
  • 打赏
  • 举报
回复
to Forfar:
即使是个“野指针”,如果未见new就使用delete似乎不妥,估计会出异常。另外从逻辑上也不行。
zwz 2003-07-09
  • 打赏
  • 举报
回复
但不是0xcccccccc就会产生些问题,但我使用if (pointer == NULL)语句时就会出错,如果知道是什么,或是如何产生的才可以防止这种问题出现,所以我很想知道!!!!
ForFar 2003-07-09
  • 打赏
  • 举报
回复
应该是个“野指针”吧,避免这种情况只能在delete后再赋NULL值和初始化时赋NULL值
DoubleJiang 2003-07-09
  • 打赏
  • 举报
回复
肯定是无用的信息,在Debug时出现,和0xCCCCCCCC差不多的,
zwz 2003-07-09
  • 打赏
  • 举报
回复
我估计也是。刚才我重新将以前备份的文件拷回,并重新编译。0xdddddddd的问题没有了,但是有一个指针是0x0000000c,真奇怪!!!!因此照样出Assert错误。郁闷!!!!
syl08341 2003-07-09
  • 打赏
  • 举报
回复
是错误
zwz 2003-07-09
  • 打赏
  • 举报
回复
没人吗???
zwz 2003-07-09
  • 打赏
  • 举报
回复
是这样:我是从网络接收的相关数据,将其添加到相应的结构体中,此指针中内容为由此得到的。我已经查过,此类中所有的指针被delete时都有pointer = NULL。我就不明白了,为什么会出现这种情况???
zwz 2003-07-09
  • 打赏
  • 举报
回复
没人吗???
思危 2003-07-09
  • 打赏
  • 举报
回复
任何指针在使用完毕后都要复位,这是编程习惯的问题:
delete pointer;
pointer = NULL;
如上就不会出现你所遇到的问题,而不是去判断是否已经delete
zwz 2003-07-09
  • 打赏
  • 举报
回复
soory,自中午之后就登录不上CSDN了。
to zPerry(旧日重来) & iicup(双杯献酒):
在debug环境下,对于一个已经填充为0xdd的指针,在if (pointer == NULL)情况下产生的错误,在realease版本中是否不会出现???
另外,如何在debug环境中避免出现if (pointer == NULL)所产生的错误呢?就是我如何判断此指针所指的内存已经delete??
因为由于这个原因,我在调试我的程序时老出错,希望能够解决。

双杯献酒 2003-07-09
  • 打赏
  • 举报
回复
在德DEBUG下,自动填充的无用数据.

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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