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

面试题 相关文章推荐
weblogic面试题
Mar 07 面试题
开发中都用到了那些设计模式?用在什么场合?
Aug 21 面试题
这段代码难道不该打印出56吗
Feb 27 面试题
写出二分查找算法的两种实现
May 13 面试题
SQL Server 2000数据库的文件有哪些,分别进行描述
Mar 30 面试题
.NET概念性的面试题
Feb 29 面试题
某公司C#程序员面试题笔试题
May 26 面试题
linux面试题参考答案(9)
Jan 07 面试题
Linux文件操作命令都有哪些
Feb 27 面试题
如何将无状态会话Bean发布为WEB服务,只有无状态会话Bean可以发布为WEB服务?
Dec 03 面试题
如何写一个Java类既可以用作applet也可以用作java应用
Jan 18 面试题
九州传奇上机题
Jul 10 面试题
实现向右循环移位
Jul 31 #面试题
类成员函数的重载、覆盖和隐藏区别
Jan 27 #面试题
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
Nov 09 #面试题
将一个数的从第5位开始的7个数取出,其余位置0
May 26 #面试题
NULL是什么,它是怎么定义的
May 09 #面试题
简述数组与指针的区别
Jan 02 #面试题
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
Feb 10 #面试题
You might like
php下获取http状态的实现代码
2014/05/09 PHP
php实现设计模式中的单例模式详解
2014/10/11 PHP
PHP屏蔽过滤指定关键字的方法
2014/11/03 PHP
phalcon框架使用指南
2016/02/23 PHP
php解析base64数据生成图片的方法
2016/12/06 PHP
PHP实现截取中文字符串不出现?号的解决方法
2016/12/29 PHP
JavaScript中Object和Function的关系小结
2009/09/26 Javascript
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
2011/10/16 Javascript
jQuery学习笔记之 Ajax操作篇(三) - 过程处理
2014/06/23 Javascript
AngularJS基础 ng-cloak 指令简单示例
2016/08/01 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
jQuery实现别踩白块儿网页版小游戏
2017/01/18 Javascript
详解nodejs微信公众号开发——2.自动回复
2017/04/10 NodeJs
vue中遇到的坑之变化检测问题(数组相关)
2017/10/13 Javascript
Vue 表情包输入组件的实现代码
2019/01/21 Javascript
JavaScript实现Tab选项卡切换
2020/02/13 Javascript
python通过pil模块将raw图片转换成png图片的方法
2015/03/16 Python
[原创]pip和pygal的安装实例教程
2017/12/07 Python
对python 各种删除文件失败的处理方式分享
2018/04/24 Python
基于DATAFRAME中元素的读取与修改方法
2018/06/08 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
2019/04/01 Python
Python实现html转换为pdf报告(生成pdf报告)功能示例
2019/05/04 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
python super函数使用方法详解
2020/02/14 Python
Python GUI库PyQt5样式QSS子控件介绍
2020/02/25 Python
Python如何使用神经网络进行简单文本分类
2021/02/25 Python
Html5剪切板功能的实现代码
2018/06/29 HTML / CSS
泰国办公用品购物网站:OfficeMate
2018/02/04 全球购物
英国领先的在线礼品店:Getting Personal
2019/09/24 全球购物
销售文员的岗位职责
2013/11/20 职场文书
编辑硕士自荐信范文
2013/11/27 职场文书
体育教育个人自荐信范文
2013/12/01 职场文书
班级德育工作实施方案
2014/02/21 职场文书
基层干部个人对照检查及整改措施
2014/10/28 职场文书
董事长岗位职责
2015/02/13 职场文书
承诺书应该怎么写?
2019/09/10 职场文书