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

面试题 相关文章推荐
Yahoo-PHP面试题4
May 05 面试题
局部内部类是否可以访问非final变量?
Apr 20 面试题
如何打开WebSphere远程debug
Oct 10 面试题
C语言面试题
May 19 面试题
用C语言实现文件读写操作
Oct 27 面试题
北京华建集团SQL面试题
Jun 03 面试题
关于.NET, HTML的五个问题
Aug 29 面试题
了解AppleTalk协议吗
Apr 01 面试题
一些网络技术方面的面试题
May 01 面试题
C#公司笔试题
Mar 28 面试题
shell程序中如何注释
Feb 17 面试题
掌上明珠Java程序员面试总结
Feb 23 面试题
实现向右循环移位
Jul 31 #面试题
类成员函数的重载、覆盖和隐藏区别
Jan 27 #面试题
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
Nov 09 #面试题
将一个数的从第5位开始的7个数取出,其余位置0
May 26 #面试题
NULL是什么,它是怎么定义的
May 09 #面试题
简述数组与指针的区别
Jan 02 #面试题
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
Feb 10 #面试题
You might like
Session的工作方式
2006/10/09 PHP
php 删除cookie和浏览器重定向
2009/03/16 PHP
使用VisualStudio开发php的图文设置方法
2010/08/21 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
2014/06/04 PHP
PHP使用mkdir创建多级目录的方法
2015/12/22 PHP
PHP isset()与empty()的使用区别详解
2017/02/10 PHP
PHP之多条件混合筛选功能的实现方法
2019/10/09 PHP
Laravel 不同生产环境服务器的判断实践
2019/10/15 PHP
从JQuery源码分析JavaScript函数的apply方法与call方法
2014/09/25 Javascript
Node.js Streams文件读写操作详解
2016/07/04 Javascript
AngularJs bootstrap搭载前台框架——js控制部分
2016/09/01 Javascript
vue实现商城购物车功能
2017/11/27 Javascript
webpack开发环境和生产环境的深入理解
2018/11/08 Javascript
bootstrap datepicker的基本使用教程
2019/07/09 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:奇迹哥卡尔秀翻全场
2017/03/28 DOTA
零基础写python爬虫之打包生成exe文件
2014/11/06 Python
详解Python3中字符串中的数字提取方法
2017/01/14 Python
python 开发的三种运行模式详细介绍
2017/01/18 Python
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
python获取磁盘号下盘符步骤详解
2019/06/19 Python
Python 剪绳子的多种思路实现(动态规划和贪心)
2020/02/24 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
2020/02/26 Python
python代码如何注释
2020/06/01 Python
Python+Kepler.gl轻松制作酷炫路径动画的实现示例
2020/06/02 Python
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
css3实现二维码扫描特效的示例
2020/10/29 HTML / CSS
亚马逊墨西哥站:Amazon.com.mx
2018/08/26 全球购物
小学生安全保证书
2014/02/01 职场文书
优秀班集体先进事迹材料
2014/05/28 职场文书
社区反邪教工作方案
2014/06/16 职场文书
普通话宣传标语
2014/06/26 职场文书
领导班子作风建设剖析材料
2014/10/11 职场文书
pycharm部署django项目到云服务器的详细流程
2021/06/29 Python
mysql sql常用语句大全
2022/06/21 MySQL
Go语言编译原理之源码调试
2022/08/05 Golang