C语言细节之四: 空指针

1、空指针表示"未分配"或者"尚未指向任何地方"。它与未初始化的指针不同,未初始化的指针可能指向任何地方。每种指针类型都要一个空指针,而不同类型的空指针的内部可能不尽相同。

2、一般给指针赋值0就是将指针设为空指针(等同设为NULL)。但是0作为函数参数,传给指针时需要对0作类型转换。

3、可以使用if(p)等同于if(p != 0),但是这种风格不好。

4、NULL实际上是一个定义在 stdio.h中定义的宏,代表空指针常数,赋给指针,等同于0。欲处理器把所有NULL都转换为0

总结:两条规则:
   (1)当需要使用空指针常数,使用0或者NULL
   (2)当在函数调用中使用0或者NULL用作参数,把它转换成被调
       函数需要的指针类型。

转载于:https://www.cnblogs.com/steven_oyj/archive/2010/05/22/1741366.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值