如果NULL和0作为空指针常数是等价的,那我到底该用哪一个


Posted in 面试题 onSeptember 16, 2014
许多程序员认为在所有的指针上下文中都应该使用NULL, 以表明该值应该被看作指针。另一些人则认为用一个宏来定义0, 只不过把事情搞得更复杂, 反而令人困惑。因而倾向于使用未加修饰的0。没有正确的答案。C 程序员应该明白, 在指针上下文中NULL 和0 是完全等价的, 而未加修饰的0 也完全可以接受。任何使用NULL (跟0 相对) 的地方都应该看作一种温和的提示, 是在使用指针; 程序员(和编译器都) 不能依靠它来区别指针0 和整数0。在需要其它类型的0 的时候, 即便它可能工作也不能使用NULL, 因为这样做
发出了错误的格式信息。(而且, ANSI 允许把NULL 定义为((void *)0), 这在非指针的上下文中完全无效。特别是, 不能在需要ASCII 空字符(NUL) 的地方用NULL。如果有必要, 提供你自己的定义
#define NUL ’\0’

Tags in this post...

面试题 相关文章推荐
Tomcat Mysql datasource数据源配置
Dec 28 面试题
怎样声明接口
Sep 19 面试题
触发器(trigger)的功能都有哪些?写出一个触发器的例子
Sep 17 面试题
2019年.net常见面试问题
Feb 12 面试题
2019年分享net面试的经历和题目
Aug 07 面试题
如何进行Linux分区优化
Feb 12 面试题
介绍一下linux的文件权限
Feb 15 面试题
什么是虚拟内存?虚拟内存有什么优势?
Feb 09 面试题
Linux的文件类型
Mar 07 面试题
MySQL面试题目集锦
Apr 14 面试题
Java程序员面试题
Sep 27 面试题
J2EE相关知识面试题
Aug 26 面试题
利用异或运算实现两个无符号数的加法运算
Dec 20 #面试题
如何打印出当前源文件的文件名以及源文件的当前行号
Apr 05 #面试题
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
Feb 15 #面试题
实现向右循环移位
Jul 31 #面试题
类成员函数的重载、覆盖和隐藏区别
Jan 27 #面试题
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
Nov 09 #面试题
将一个数的从第5位开始的7个数取出,其余位置0
May 26 #面试题
You might like
PHP新手用的Insert和Update语句构造类
2012/03/31 PHP
YII动态模型(动态表名)支持分析
2016/03/29 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
2019/10/30 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
imagettftext() 失效,不起作用
2021/03/09 PHP
jQuery DOM操作小结与实例
2010/01/07 Javascript
javascript中的prototype属性使用说明(函数功能扩展)
2010/08/16 Javascript
javascript简单事件处理和with用法介绍
2013/09/16 Javascript
通过onmouseover选项卡实现img图片的变化
2014/02/12 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
javascript白色简洁计算器
2015/05/04 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
2015/11/15 Javascript
Bootstrap每天必学之折叠
2016/04/12 Javascript
AngularJS使用指令增强标准表单元素功能
2016/07/01 Javascript
javascript特效实现——当前时间和倒计时效果的简单实例
2016/07/20 Javascript
Angular2从搭建环境到开发步骤详解
2016/10/17 Javascript
localStorage的黑科技-js和css缓存机制
2017/02/06 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
2017/03/06 Javascript
基于js 字符串indexof与search方法的区别(详解)
2017/12/04 Javascript
详解javascript appendChild()的完整功能
2018/08/18 Javascript
vue里的data要用return返回的原因浅析
2019/05/28 Javascript
vue中动态select的使用方法示例
2019/10/28 Javascript
python del()函数用法
2013/03/24 Python
Python的Django框架中的select_related函数对QuerySet 查询的优化
2015/04/01 Python
Python使用xlrd模块操作Excel数据导入的方法
2015/05/26 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
python爬取网页内容转换为PDF文件
2020/07/28 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
Python实现串口通信(pyserial)过程解析
2019/09/25 Python
科室工作的个人自我评价
2013/10/30 职场文书
党的群众路线对照检查材料思想汇报
2014/09/25 职场文书
幼儿园感恩节活动方案2014
2014/10/11 职场文书
介绍长城的导游词
2015/01/30 职场文书
小学语文教学随笔
2015/08/14 职场文书