[笔记]空指针与野指针

野指针 & 空指针



野指针
       指向未知的内存
 出现的原因:
               1), 未初始化
               2), 指针访问数组越界
               3), 指针指向的内存被释放
               对于3),一个有趣的情况解释:
                        函数调用后内部的局部变量不会重置为0,但是空间会归还给操作系统,也就是说如果有指针指向函数的中的变量,函数执行完后指针指向的值任然不变。



空指针:
        指向不存在的内存
        出现的原因:
                1), 指针赋初值为Null

(注意null和nullptr不一样)
                解释:
                “NULL在C++中就是0,这是因为在C++中void* 类型是不允许隐式转换成其他类型的,
                所以之前C++中用0来代表空指针,但是在重载整形的情况下,会出现上述的问题。
                所以,C++11加入了nullptr,可以保证在任何情况下都代表空指针,而不会出现
                上述的情况,因此,建议以后还是都用nullptr替代NULL吧,而NULL就当做0使用。
                原文链接:https://blog.csdn.net/qq_18108083/article/details/84346655”

欢迎指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值