如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗


Posted in 面试题 onFebruary 15, 2012
一般情况下, 不行。复杂之处在于, 有的机器不同类型数据的指针有不同的内
部表达。这样的NULL 定义对于接受字符指针的的函数没有问题, 但对于其它类型的指针参数仍然有问题(在缺少原型的情况下), 而合法的构造如FILE *fp = NULL;则会失败。
不过, ANSI C 允许NULL 的可选定义#define NULL ((void *)0)
除了潜在地帮助错误程序运行(仅限于使用同样类型指针的机器, 因此帮助有限) 以外, 这样的定义还可以发现错误使用NULL 的程序(例如, 在实际需要使用ASCII NUL 字符的地方; )。无论如何, ANSI 函数原型确保大多数(尽管不是全部;)指针参数在传入函数时正确转换。因此, 这个问题有些多余。

Tags in this post...

面试题 相关文章推荐
PHP笔试题
Feb 22 面试题
使用useBean标志初始化BEAN时如何接受初始化参数
Feb 11 面试题
JSF面试题:如何管量web层中的Bean,用什么标签。如何通过jsp页面与Bean绑定在一起进行处理?
Oct 05 面试题
c语言常见笔试题总结
Sep 05 面试题
"引用"与多态的关系
Feb 01 面试题
杭州龙健科技笔试题.net部分笔试题
Jan 24 面试题
私有程序集与共享程序集有什么区别
Apr 05 面试题
动态密码技术
Oct 18 面试题
介绍一下Python中webbrowser的用法
May 07 面试题
Java中的基本数据类型所占存储空间大小固定的吗
Feb 15 面试题
正隆泰信息技术有限公司上机题
Jun 14 面试题
什么是继承
Dec 07 面试题
实现向右循环移位
Jul 31 #面试题
类成员函数的重载、覆盖和隐藏区别
Jan 27 #面试题
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
Nov 09 #面试题
将一个数的从第5位开始的7个数取出,其余位置0
May 26 #面试题
NULL是什么,它是怎么定义的
May 09 #面试题
简述数组与指针的区别
Jan 02 #面试题
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
Feb 10 #面试题
You might like
PHP容易忘记的知识点分享
2013/04/30 PHP
php中实现精确设置session过期时间的方法
2014/07/17 PHP
PHP使用feof()函数读文件的方法
2014/11/07 PHP
10个简化PHP开发的工具
2014/12/25 PHP
php中异常处理方法小结
2015/01/09 PHP
简介PHP的Yii框架中缓存的一些高级用法
2016/03/29 PHP
THINKPHP3.2使用soap连接webservice的解决方法
2017/12/13 PHP
JSQL 基于客户端的成绩统计实现方法
2010/05/05 Javascript
基于Jquery和html5实现炫酷的3D焦点图动画
2016/03/02 Javascript
JavaScript中子对象访问父对象的方式详解
2016/09/01 Javascript
JavaScript中push(),join() 函数 实例详解
2016/09/06 Javascript
JS打开摄像头并截图上传示例
2017/02/18 Javascript
快速使用node.js进行web开发详解
2017/04/26 Javascript
vue组件学习教程
2017/09/09 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
2017/12/15 Javascript
JavaScript使用享元模式实现文件上传优化操作示例
2018/08/07 Javascript
JointJS流程图的绘制方法
2018/12/03 Javascript
JavaScript常见事件对象与操作实例总结
2019/01/05 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
2020/07/20 Javascript
google广告之另类js调用实现代码
2020/08/22 Javascript
[49:17]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第三场 1月26日
2021/03/11 DOTA
用python读写excel的方法
2014/11/18 Python
python中循环语句while用法实例
2015/05/16 Python
利用django-suit模板添加自定义的菜单、页面及设置访问权限
2018/07/13 Python
使用 Python 处理 JSON 格式的数据
2019/07/22 Python
python web框架Flask实现图形验证码及验证码的动态刷新实例
2019/10/14 Python
Django如何使用jwt获取用户信息
2020/04/21 Python
Html5定位终极解决方案
2020/02/05 HTML / CSS
美国独家设计师眼镜在线光学商店:Glasses Gallery
2017/12/28 全球购物
美国中西部家用医疗设备商店:Med Mart(轮椅、踏板车、升降机等)
2019/04/26 全球购物
留学自荐信的技巧
2013/10/17 职场文书
2014年社区宣传工作总结
2014/12/02 职场文书
2019学生会干事辞职信
2019/06/27 职场文书
pandas 操作 Excel操作总结
2021/03/31 Python
Spring-cloud Config Server的3种配置方式
2021/09/25 Java/Android
go goth封装第三方认证库示例详解
2022/08/14 Golang