NULL 和EOF的区别

NULL 和EOF的区别

NULL 和EOF的定义

EOF定义

stdio.h

#ifndef EOF

# define EOF (-1)

#endif

 

NULL定义

stddef.h 文件

。。。

/* A null pointer constant.  */

 

#if defined (_STDDEF_H) || defined(__need_NULL)

#undef NULL             /* in case <stdio.h> hasdefined it. */

#ifdef __GNUG__

#define NULL __null

#else  /* G++ */

#ifndef __cplusplus

#define NULL ((void *)0)

#else  /* C++ */

#define NULL 0

#endif /* C++ */

#endif /* G++ */

#endif /* NULL not defined and <stddef.h> or need NULL.  */

#undef __need_NULL

。。。

总结不同点

1)EOF 值为 -1。NULL值在C++中为0,非C++中是一个空指针,即指针变量值为空。

2)EOF常用于文件操作出错时的判断条件(有的函数(man fputc)出错返回EOF、读到文件的末尾也返回EOF)。NULL常用于判断指针是否为空。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值