如果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...

面试题 相关文章推荐
开发中都用到了那些设计模式?用在什么场合?
Aug 21 面试题
数组越界问题
Oct 21 面试题
广州品高软件.net笔面试题目
Apr 18 面试题
关于递归的一道.NET面试题
May 12 面试题
请解释在new与override的区别
Oct 29 面试题
世界经理人咨询有限公司面试
Sep 23 面试题
上海雨人软件技术开发有限公司测试题
Jul 14 面试题
如何手工释放资源
Dec 15 面试题
同步和异步有何异同,在什么情况下分别使用他们
Apr 09 面试题
JSF界面控制层技术
Jun 17 面试题
shell变量的作用空间是什么
Aug 17 面试题
Ruby如何定义一个类
Oct 08 面试题
利用异或运算实现两个无符号数的加法运算
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中在数据库中保存Checkbox数据(1)
2006/10/09 PHP
封装一个PDO数据库操作类代码
2009/09/09 PHP
Php无限级栏目分类读取的实现代码
2014/02/19 PHP
Apache服务器下防止图片盗链的办法
2015/07/06 PHP
PHP加密解密类实例代码
2016/07/20 PHP
javascript document.compatMode兼容性
2010/02/23 Javascript
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
jquery删除提示框弹出是否删除对话框
2014/01/07 Javascript
node.js中的fs.read方法使用说明
2014/12/17 Javascript
Node.js实现批量去除BOM文件头
2014/12/20 Javascript
原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法
2016/08/05 Javascript
Javascript 引擎工作机制详解
2016/11/30 Javascript
用JS实现简单的登录验证功能
2017/07/28 Javascript
jQuery pjax 应用简单示例
2018/09/20 jQuery
vue用BMap百度地图实现即时搜索功能
2019/09/26 Javascript
js 计算月/周的第一天和最后一天代码
2020/02/01 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
2020/08/06 Javascript
Django中使用Celery的教程详解
2018/08/24 Python
python如何从文件读取数据及解析
2019/09/19 Python
numpy np.newaxis 的实用分享
2019/11/30 Python
Python3 读取Word文件方式
2020/02/13 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
2020/05/20 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
2020/11/25 Python
python pillow库的基础使用教程
2021/01/13 Python
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
2016/04/26 HTML / CSS
Vince官网:全球著名设计师品牌,休闲而优雅的服饰
2017/01/15 全球购物
Sunglasses Shop英国:欧洲领先的太阳镜在线供应商之一
2018/09/19 全球购物
如何实现jdbc性能优化
2012/07/30 面试题
感恩父母的演讲稿
2014/05/06 职场文书
建筑安全标语
2014/06/07 职场文书
竞聘演讲稿开场白
2014/08/25 职场文书
离婚协议书该怎么写
2014/10/04 职场文书
师德承诺书
2015/01/20 职场文书
少年派的奇幻漂流观后感
2015/06/08 职场文书
小学作文之描写天气
2019/08/15 职场文书