空指针

空指针

1. 什么是空指针

空指针是一个特殊的指针,也是一个对任何指针类型都合法的指针,指针变量具有空指针值,表示它处于闲置状态,没有指向任何有意义的内容

2. 空指针的表示

标准库定义了一个与数值0等价的符号常量NULL,程序中可以写ptr = 0 或者ptr = nullptr;两种写法都是表示ptr指针为空指针,C语言保证这个值不会是任何对象的地址

3. 什么时候使用空指针

如果定义指针时,未将指针指向特定的对象,应该将指针置空; int * ptr = NULL;

使用free或者delete指针后,应该将指针置空,避免野指针的产生;delete *ptr ; ptr = NULL;

4. 代码示例

#include <stdio.h>
int main(){
    int n = 3;
    int * int_ptr = NULL;
    void * void_ptr = NULL;
    void_ptr = &n;
    int_ptr = (int *)void_ptr;
    printf("%d\n", *(int_ptr));
    return 0;
}
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

博可睿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值