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

面试题 相关文章推荐
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
Oct 06 面试题
经典c++面试题二
Aug 14 面试题
什么是URL
Dec 13 面试题
What's the difference between deep copy and shallow copy? (深拷贝与浅拷贝有什么区别)
Nov 10 面试题
Does C# support multiple inheritance? (C#支持多重继承吗)
Jan 04 面试题
介绍一下write命令
Aug 10 面试题
linux面试题参考答案(7)
Jul 24 面试题
软件缺陷的分类都有哪些
Aug 22 面试题
Java基础面试题
Jul 19 面试题
sleep()方法和wait()方法的区别是什么
Nov 17 面试题
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
Sep 26 面试题
Java模拟试题
Nov 10 面试题
利用异或运算实现两个无符号数的加法运算
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 $_SERVER详解
2009/01/16 PHP
使用NetBeans + Xdebug调试PHP程序的方法
2011/04/12 PHP
php随机输出名人名言的代码
2012/10/07 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
2012/10/29 PHP
ThinkPHP实现批量删除数据的代码实例
2014/07/02 PHP
php强制用户转向www域名的方法
2015/06/19 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
PHP大文件分片上传的实现方法
2018/10/28 PHP
jQuery 学习第五课 Ajax 使用说明
2010/05/17 Javascript
jQuery的.live()和.die() 使用介绍
2011/09/10 Javascript
一个简单的动态加载js和css的jquery代码
2014/09/01 Javascript
jQuery+HTML5美女瀑布流布局实现方法
2015/09/21 Javascript
JS+CSS实现闪烁字体效果代码
2016/04/05 Javascript
简单实现node.js图片上传
2016/12/18 Javascript
VUE开发一个图片轮播的组件示例代码
2017/03/06 Javascript
jQuery插件ContextMenu自定义图标
2017/03/15 Javascript
jQuery实现高级检索功能
2019/05/28 jQuery
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
python多线程扫描端口示例
2014/01/16 Python
PHP魔术方法__ISSET、__UNSET使用实例
2014/11/25 Python
Python计算程序运行时间的方法
2014/12/13 Python
python 实现在txt指定行追加文本的方法
2018/04/29 Python
python消费kafka数据批量插入到es的方法
2018/12/27 Python
windows下安装Python虚拟环境virtualenvwrapper-win
2019/06/14 Python
python全栈知识点总结
2019/07/01 Python
3行Python代码实现图像照片抠图和换底色的方法
2019/10/10 Python
pycharm设置当前工作目录的操作(working directory)
2020/02/14 Python
OpenCV4.1.0+VS2017环境配置的方法步骤
2020/07/09 Python
基于PyInstaller各参数的含义说明
2021/03/04 Python
HTML5表单验证特性(知识点小结)
2020/03/10 HTML / CSS
Skip Hop官网:好莱坞宝宝挚爱品牌
2018/06/17 全球购物
大学生军训自我评价分享
2013/11/09 职场文书
校园摄影活动策划方案
2014/02/05 职场文书
大学生个人求职信
2014/06/02 职场文书
高中生社会实践心得体会
2016/01/14 职场文书
高中语文教材(文学文化常识大全一)
2019/08/13 职场文书