C语言空指针

空指针
定义:不指向任何数据的指针,用NULL表示;

  int *p=NULL;

分析:空指针保证与任何对象或函数的指针值都不相等,也就是说空指针不会指向任何对象或函数的地址;
典型用法:malloc函数,当分配内存失败时就会返回空指针,因而空指针绝对不等同于未初始化的指针。
NULL是一个宏定义,在头文件中表示为

   #define NULL ((void*) 0)

(void*) 0表示将数值0强制转换成void*类型,注意是大写的NULL;
特别需要说明的是在源码中用来表示空指针的空指针常量使用整数0,NULL使p指向地址0,大多数系统都将0作为不被使用的地址,但也有系统会使用地址0,而将NULL定义为其他值,所以NULL不能说等于0,即定义空指针要写成

   int *p=NULL;

而不是

   int *p=0;
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值