局部变量未初始化就有值了是内存溢出吗?

2019-07-20 23:34发布

很奇怪的事情,因为出现了一些乱码,进debug追踪,发现有局部指针变量未初始化就有值了,这是内存溢出还是什么鬼?如果是溢出的话怎么找到溢出的源头?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
brucewoo
2019-07-21 01:27
本帖最后由 brucewoo 于 2019-6-19 19:41 编辑

这就是传说中的野指针啊! LZ 搞C/c++编程的时间不长吧?
你局部指针没初始化,就是说这个指针指向不可预料的地址,而且这个地址可能已经分配给其他变量,或者是还没分配,里面有随机的值。

“如果是溢出的话怎么找到溢出的源头?”
---- 这个不叫溢出。但关于指针的安全,是个经典问题,答案就是没有捷径,只能慢慢找,并且养成良好的编程习惯,尽量在定义指针的同时分配空间,并赋予一个确定的值,例如0 .不分配的话,就在定义指针的时候把指针赋值NULL,这样安全一点,但要是使用了的话还是有问题。

一周热门 更多>