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

面试题 相关文章推荐
空指针到底是什么
Aug 07 面试题
北京某公司的.net笔试题
Mar 20 面试题
亿阳信通股份有限公司笔试题(C#)
Mar 04 面试题
Linux内核产生并发的原因
Jul 13 面试题
常用UNIX 命令(Linux的常用命令)
Jul 10 面试题
linux面试题参考答案(4)
Jan 28 面试题
软件生产职位结构化面试主要考察要素及面试题库
Jun 12 面试题
AJAX的全称是什么
Nov 06 面试题
介绍一下Python下range()函数的用法
Nov 07 面试题
Java中的类包括什么内容?设计时要注意哪些方面
May 23 面试题
关键字throw与throws的用法差异
Nov 22 面试题
一套英文Java笔试题面试题
Apr 21 面试题
实现向右循环移位
Jul 31 #面试题
类成员函数的重载、覆盖和隐藏区别
Jan 27 #面试题
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
Nov 09 #面试题
将一个数的从第5位开始的7个数取出,其余位置0
May 26 #面试题
NULL是什么,它是怎么定义的
May 09 #面试题
简述数组与指针的区别
Jan 02 #面试题
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
Feb 10 #面试题
You might like
php5中类的学习
2008/03/28 PHP
[原创]PHP简单开启curl的方法(测试可行)
2016/01/11 PHP
Yii2实现自定义独立验证器的方法
2017/05/05 PHP
JQuery 学习笔记 选择器之三
2009/07/23 Javascript
JQuery 选择和过滤方法代码总结
2010/11/19 Javascript
jquery获取tr中控件值并操作tr实现思路
2013/03/27 Javascript
javascript用户注册提示效果的简单实例
2013/08/17 Javascript
基于jquery实现一张图片点击鼠标放大再点缩小
2013/09/29 Javascript
ajax+node+request爬取网络图片的实例(宅男福利)
2017/08/28 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
2018/09/04 Javascript
浅谈vuex actions和mutation的异曲同工
2018/12/13 Javascript
vue图片上传本地预览组件使用详解
2019/02/20 Javascript
js JSON.stringify()基础详解
2019/06/19 Javascript
JavaScript中的相等操作符使用详解
2019/12/21 Javascript
Vue的全局过滤器和私有过滤器的实现
2020/04/20 Javascript
jQuery实现视频展示效果
2020/05/30 jQuery
Vue父子组件传值的一些坑
2020/09/16 Javascript
jQuery实现动态操作table行
2020/11/23 jQuery
urllib2自定义opener详解
2014/02/07 Python
python将四元数变换为旋转矩阵的实例
2019/12/04 Python
解决Jupyter notebook中.py与.ipynb文件的import问题
2020/04/21 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
python上selenium的弹框操作实现
2020/07/13 Python
中国制造网:Made-in-China.com
2019/10/25 全球购物
PHP两种查询函数array/row的区别
2013/06/03 面试题
什么是ARP(Address Resolution Protocol)地址解析协议
2013/10/31 面试题
J2EE面试题大全
2016/08/06 面试题
致共产党员倡议书
2014/04/16 职场文书
全国税务系统先进集体事迹材料
2014/05/19 职场文书
文明礼仪标语
2014/06/13 职场文书
小学美术兴趣小组活动总结
2014/07/07 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
班级光棍节联谊会策划书
2014/10/10 职场文书
介绍信的写法
2015/01/31 职场文书
Mysql将字符串按照指定字符分割的正确方法
2022/05/30 MySQL