NULL, 0, 空格与'0','\0'

NULL其实是一个宏,定义为0,#include <stdio.h> 里是:
转载请尊重原创、保留相关链接本文来自多宝平台  http://www.mbodb.com
#ifndef NULL
#ifdef  __cplusplus
#define NULL    0
#else
#define NULL    ((void *)0)
#endif
#endif
  判断指针是否为空时,p==NULL, 或p==0是一样的意思,但习惯用NULL更好。
  后面的空格(' ')与'0','\0'主要是在字符串中容易混淆,可以通过ASCII码值来帮助区分:将所有的字符译为ASCII码值,
空格(' ')--->32
'0'-------->48
'\0'------->0
  C库里字符串的处理是按ASCII码值来处理的,例如以'\0'值结束,就是以0值结束, 多宝所以p是字符指针,p[i]='\0'与p[i]=0或p[i]=NULL都是一样的,都可以作为字符串结束标志。(memset(p, 0, N)与memset(p, '\0', N)与memset(p, NULL, N)都是一样的。)
  理解了这些,那么'0',空格(' ')就不会混淆为结束标志了,它们与普通字符没什么区别。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值