如果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面试题附答案
Nov 28 面试题
Java面试题及答案
Sep 08 面试题
北京SQL新华信咨询
Sep 30 面试题
中海讯通笔试题
Sep 15 面试题
关于VPN
Jun 10 面试题
动态密码技术
Oct 18 面试题
介绍一下grep命令的使用
Jun 12 面试题
网上常见的一份Linux面试题(多项选择部分)
Sep 09 面试题
EntityManager都有哪些方法
Nov 01 面试题
如何提高MySql的安全性
Jun 19 面试题
下面代码从性能上考虑,有什么问题
Apr 03 面试题
Boolean b = new Boolean(“abcde”); 会编译错误码
Nov 27 面试题
实现向右循环移位
Jul 31 #面试题
类成员函数的重载、覆盖和隐藏区别
Jan 27 #面试题
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
Nov 09 #面试题
将一个数的从第5位开始的7个数取出,其余位置0
May 26 #面试题
NULL是什么,它是怎么定义的
May 09 #面试题
简述数组与指针的区别
Jan 02 #面试题
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
Feb 10 #面试题
You might like
PHPUnit PHP测试框架安装方法
2011/03/23 PHP
通达OA公共代码 php常用检测函数
2011/12/14 PHP
php为字符串前后添加指定数量字符的方法
2015/05/04 PHP
php发送html格式文本邮件的方法
2015/06/10 PHP
php微信开发接入
2016/08/27 PHP
PHP调用Mailgun发送邮件的方法
2017/05/04 PHP
PHP操作Postgresql封装类与应用完整实例
2018/04/24 PHP
从JavaScript 到 JQuery (1)学习小结
2009/02/12 Javascript
jQuery简单图表peity.js使用示例
2014/05/02 Javascript
javascript适合移动端的日期时间拾取器
2015/11/10 Javascript
概述一个页面从输入URL到页面加载完的过程
2016/12/16 Javascript
原生JS实现图片翻书效果
2017/02/16 Javascript
详解vuejs之v-for列表渲染
2017/06/22 Javascript
vue中的watch监听数据变化及watch中各属性的详解
2018/09/11 Javascript
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
python字典基本操作实例分析
2015/07/11 Python
Python正则获取、过滤或者替换HTML标签的方法
2016/01/28 Python
python使用tensorflow保存、加载和使用模型的方法
2018/01/31 Python
Python GUI Tkinter简单实现个性签名设计
2018/06/19 Python
python 平衡二叉树实现代码示例
2018/07/07 Python
python取余运算符知识点详解
2019/06/27 Python
python实现beta分布概率密度函数的方法
2019/07/08 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
Python实现序列化及csv文件读取
2020/01/19 Python
基于Python中random.sample()的替代方案
2020/05/23 Python
Python txt文件常用读写操作代码实例
2020/08/03 Python
paramiko使用tail实时获取服务器的日志输出详解
2020/12/06 Python
CSS3轻松实现圆角效果
2017/11/09 HTML / CSS
美国最大的珠宝首饰网上商城:Jewelry.com
2016/07/22 全球购物
美国知名运动产品零售商:Foot Locker
2016/07/23 全球购物
如何判断一段程序是由C 编译程序还是由C++编译程序编译的
2013/08/04 面试题
保险专业大专生求职信
2013/10/26 职场文书
入团介绍人意见范文
2015/06/04 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书
2016七夕情人节感言
2015/12/09 职场文书
《神奇的鸟岛》教学反思
2016/02/22 职场文书