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

面试题 相关文章推荐
JSF面试题:Jsf中导航的标签是什么
Apr 20 面试题
输入一行文字,找出其中大写字母、小写字母、空格、数字、及其他字符各有多少
Apr 15 面试题
SQL面试题
Apr 30 面试题
IMPORT的选项IGNORE有什么作用?缺省是什么设置?
Sep 17 面试题
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
Aug 13 面试题
网络方面基础面试题
Nov 16 面试题
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
Jan 13 面试题
描述RIP和OSPF区别以及特点
Jan 17 面试题
linux下进程间通信的方式
Jan 23 面试题
Python面试题:如何用Python来发送邮件
Mar 15 面试题
JAVA程序设计笔试题面试题一套
Jul 28 面试题
Java软件工程师综合面试题笔试题
Sep 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 网络开发详解之远程文件包含漏洞
2010/04/25 PHP
thinkphp获取栏目和文章当前位置的方法
2014/10/29 PHP
跨浏览器PHP下载文件名中的中文乱码问题解决方法
2015/03/05 PHP
Mootools 1.2教程 类(一)
2009/09/15 Javascript
让div层随鼠标移动的实现代码 ie ff
2009/12/18 Javascript
使用JS读秒使用示例
2013/09/21 Javascript
jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
2016/02/25 Javascript
浅谈js中调用函数时加不加括号的问题
2016/07/28 Javascript
Javascript中字符串和数字的操作方法整理
2017/01/22 Javascript
vue-resourse将json数据输出实例
2017/03/08 Javascript
Vue 源码分析之 Observer实现过程
2018/03/29 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
2018/08/29 Javascript
JS实现判断数组是否包含某个元素示例
2019/05/24 Javascript
node 标准输入流和输出流代码实例
2019/09/19 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
Vue + ts实现轮播插件的示例
2020/11/10 Javascript
python数组复制拷贝的实现方法
2015/06/09 Python
python中Matplotlib实现绘制3D图的示例代码
2017/09/04 Python
python针对excel的操作技巧
2018/03/13 Python
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
2018/06/06 Python
python并发和异步编程实例
2018/11/15 Python
python基于gevent实现并发下载器代码实例
2019/11/01 Python
Python SSL证书验证问题解决方案
2020/01/13 Python
python正则表达式实例代码
2020/03/03 Python
django 扩展user用户字段inlines方式
2020/03/30 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
2020/05/13 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
加拿大廉价机票预订网站:CheapOair.ca
2018/03/04 全球购物
莫斯科高科技在线商店:KremlinStore
2019/03/13 全球购物
机电一体化应届生求职信范文
2014/01/24 职场文书
国土资源局开展党的群众路线教育实践活动整改措施
2014/09/26 职场文书
违反交通安全法检讨书
2014/10/24 职场文书
第一书记观后感
2015/06/08 职场文书
Python代码风格与编程习惯重要吗?
2021/06/03 Python
Jupyter Notebook 如何修改字体和大小以及更改字体样式
2021/06/03 Python
Python list列表删除元素的4种方法
2021/11/01 Python