您的位置:首页 > 其它

动态内存的问题

2009-11-16 10:28 169 查看
函数体内的局部变量在函数结束的时候不会自动消亡;

(1) 指针消亡了,并不代表它所指的内存会自动释放。

(2) 内存被释放了,并不代表指针会消亡或者成为NULL。

“野指针” 不是NULL指针,而是指向“非法”内存的指针,人们一般不会错用NULL指针,因为if语句很容易判断,

但是“野指针”很危险,if语句对它不起作用的。

“野指针”的成因:

(1) 没有初始化指针变量,任何指针变量刚创建时不会自动成为NULl,它的默认是随机的,所以指针在创建的同时应该初始化,

要么设置为NUL,或者指向有效的内存地址;

(2 )指针P被free或者delete后,没有置为NULL,让人误认为P仍然是有效的指针,

(3) 指针操作超越了变量的作用范围。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: