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

面试题 相关文章推荐
介绍Ibatis的核心类
Nov 18 面试题
C语言变量的命名规则都有哪些
Dec 27 面试题
某公司.Net方向面试题
Apr 24 面试题
什么情况下你必须要把一个类定义为abstract的
Jan 06 面试题
金士达面试非笔试
Mar 14 面试题
四川internet信息高速公路(C#)笔试题
Feb 29 面试题
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
Nov 24 面试题
Linux面试经常问的文件系统操作命令
Oct 04 面试题
进程的查看和调度分别使用什么命令
Mar 25 面试题
Python面试题:Python是如何进行内存管理的
Aug 04 面试题
Java中会存在内存泄漏吗,请简单描述
Dec 22 面试题
Ruby如何实现动态方法调用
Nov 18 面试题
实现向右循环移位
Jul 31 #面试题
类成员函数的重载、覆盖和隐藏区别
Jan 27 #面试题
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
Nov 09 #面试题
将一个数的从第5位开始的7个数取出,其余位置0
May 26 #面试题
NULL是什么,它是怎么定义的
May 09 #面试题
简述数组与指针的区别
Jan 02 #面试题
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
Feb 10 #面试题
You might like
php strnatcmp()函数的用法总结
2013/11/27 PHP
JavaScript与HTML结合的基本使用方法整理
2015/10/12 PHP
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
2015/10/22 PHP
yii2.0使用Plupload实现带缩放功能的多图上传
2015/12/22 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
2017/04/27 PHP
PHP中TP5 上传文件的实例详解
2017/07/31 PHP
javascript preload&lazy load
2010/05/13 Javascript
IE6下focus与blur错乱的解决方案
2011/07/31 Javascript
不使用XMLHttpRequest实现异步加载 Iframe和script
2012/10/29 Javascript
JavaScript省市联动实现代码
2014/02/15 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
JavaScript:Array类型全面解析
2016/05/19 Javascript
浅谈js和css内联外联注意事项
2016/06/30 Javascript
js动态添加的DIV中的onclick事件简单实例
2016/07/25 Javascript
Angularjs 制作购物车功能实例代码
2016/09/14 Javascript
JAVA Web实时消息后台服务器推送技术---GoEasy
2016/11/04 Javascript
JS获取短信验证码倒计时的实现代码
2017/05/22 Javascript
详解vue父子组件间传值(props)
2017/06/29 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
2017/07/07 Javascript
JS与HTML结合实现流程进度展示条思路详解
2017/09/03 Javascript
微信小程序开发注意指南和优化实践(小结)
2019/06/21 Javascript
通过GASP让vue实现动态效果实例代码详解
2019/11/24 Javascript
功能完善的小程序日历组件的实现
2020/03/31 Javascript
Python+Django在windows下的开发环境配置图解
2009/11/11 Python
用Python抢过年的火车票附源码
2015/12/07 Python
Python数据结构之双向链表的定义与使用方法示例
2018/01/16 Python
使用 Django Highcharts 实现数据可视化过程解析
2019/07/31 Python
用python给csv里的数据排序的具体代码
2020/07/17 Python
详解Pycharm第三方库的安装及使用方法
2020/12/29 Python
解决pytorch 的state_dict()拷贝问题
2021/03/03 Python
工程质量承诺书范文
2014/03/27 职场文书
初中学习计划书范文
2014/09/15 职场文书
和谐家庭事迹材料
2014/12/20 职场文书
CSS实现多个元素在盒子内两端对齐效果
2021/03/30 HTML / CSS
使用Redis实现实时排行榜功能
2021/07/02 Redis