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

面试题 相关文章推荐
weblogic面试题
Mar 07 面试题
构造器Constructor是否可被override?
Aug 06 面试题
一个C/C++编程面试题
Nov 10 面试题
请写出char *p与"零值"比较的if语句
Sep 24 面试题
不用游标的SQL语句有哪些
Sep 07 面试题
如何在C# winform中异步调用web services
Sep 21 面试题
Linux文件操作命令都有哪些
Feb 27 面试题
为什么需要版本控制?
Aug 08 面试题
JavaScript获取当前url根目录(路径)
Feb 19 面试题
Prototype如何为一个Ajax添加一个参数
Dec 06 面试题
介绍下java.util.Arrays类
Oct 16 面试题
J2EE模式面试题
Oct 11 面试题
利用异或运算实现两个无符号数的加法运算
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 输出缓存详解
2009/06/20 PHP
PHP爆绝对路径方法收集整理
2012/09/17 PHP
Laravel 4 初级教程之视图、命名空间、路由
2014/10/30 PHP
JMenuTab简单使用说明
2008/03/13 Javascript
jQuery UI Dialog 创建友好的弹出对话框实现代码
2012/04/12 Javascript
Javascript模块化编程(一)模块的写法最佳实践
2013/01/17 Javascript
js兼容的placeholder属性详解
2013/08/18 Javascript
JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
2013/11/20 Javascript
jquery动态添加option示例
2013/12/30 Javascript
由ReactJS的Hello world说开来
2015/07/02 Javascript
实现非常简单的js双向数据绑定
2015/11/06 Javascript
JavaScript测试工具之Karma-Jasmine的安装和使用详解
2015/12/03 Javascript
js拖拽功能实现代码解析
2016/11/28 Javascript
js实现带缓动动画的导航栏效果
2017/01/16 Javascript
Bootstrap面板使用方法
2017/01/16 Javascript
jquery实现侧边栏左右伸缩效果的示例
2017/12/19 jQuery
Angular2.0实现modal对话框的方法示例
2018/02/18 Javascript
基于angular6.0实现的一个组件懒加载功能示例
2018/04/12 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
vue-loader中引入模板预处理器的实现
2019/09/04 Javascript
layui表单提交到后台自动封装到实体类的方法
2019/09/12 Javascript
Python tempfile模块学习笔记(临时文件)
2014/05/25 Python
Python实现的百度站长自动URL提交小工具
2014/06/27 Python
Tensorflow的可视化工具Tensorboard的初步使用详解
2018/02/11 Python
Tensorflow的梯度异步更新示例
2020/01/23 Python
html5视频自动横过来自适应页面且点击播放功能的实现
2020/06/03 HTML / CSS
娇韵诗香港官网:Clarins香港
2020/08/13 全球购物
大四学生毕业自荐信
2013/11/07 职场文书
电子商务专员岗位职责
2013/12/11 职场文书
教师求职信范文分享
2013/12/27 职场文书
企业承诺书格式
2014/05/21 职场文书
求职信如何撰写?
2019/05/22 职场文书
Python爬虫基础之简单说一下scrapy的框架结构
2021/06/26 Python
vue 实现弹窗关闭后刷新效果
2022/04/08 Vue.js
Go本地测试解耦任务拆解及沟通详解Go本地测试的思路沟通的重要性总结
2022/06/21 Golang