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

面试题 相关文章推荐
您熟悉ORM(Object-Relation Mapping)吗?请谈谈您所理解的ORM
Feb 08 面试题
怎样声明接口
Sep 19 面试题
c语言常见笔试题总结
Sep 05 面试题
索引覆盖(Index Covering)查询含义
Feb 18 面试题
用C#语言写出与SQLSERVER访问时的具体过程
Apr 16 面试题
在C#中如何实现多态
Jul 02 面试题
Linux内核产生并发的原因
Jul 13 面试题
介绍一下Linux中的链接
Jun 05 面试题
如何用Python来进行查询和替换一个文本字符串
Jan 02 面试题
你在项目中用到了xml技术的哪些方面?如何实现的?
Jan 26 面试题
AssertionError 跟一下那个类是 “is – a”的关系
Feb 21 面试题
德尔福集团DELPHI的笔试题
Feb 22 面试题
实现向右循环移位
Jul 31 #面试题
类成员函数的重载、覆盖和隐藏区别
Jan 27 #面试题
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
Nov 09 #面试题
将一个数的从第5位开始的7个数取出,其余位置0
May 26 #面试题
NULL是什么,它是怎么定义的
May 09 #面试题
简述数组与指针的区别
Jan 02 #面试题
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
Feb 10 #面试题
You might like
生成静态页面的PHP类
2006/11/25 PHP
PHP网站基础优化方法小结
2008/09/29 PHP
基于PHP选项与信息函数的使用详解
2013/05/10 PHP
php正则去除网页中所有的html,js,css,注释的实现方法
2016/11/03 PHP
Jquery Ajax.ashx 高效分页实现代码
2009/10/20 Javascript
基于jquery实现的定时显示与隐藏div广告的实现代码
2013/08/22 Javascript
js中array的sort()方法使用介绍
2014/02/20 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
2017/03/01 Javascript
JS数组搜索之折半搜索实现方法分析
2017/03/27 Javascript
JS中IP地址与整数相互转换的实现代码
2017/04/10 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
JavaScript常用数组操作方法,包含ES6方法
2020/05/10 Javascript
es6 super关键字的理解与应用实例分析
2020/02/15 Javascript
js和jquery判断数据类型的4种方法总结
2020/08/28 jQuery
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
element-ui 弹窗组件封装的步骤
2021/01/22 Javascript
python的类方法和静态方法
2014/12/13 Python
Python的爬虫包Beautiful Soup中用正则表达式来搜索
2016/01/20 Python
JS设计模式之责任链模式实例详解
2018/02/03 Python
Python实现爬虫设置代理IP和伪装成浏览器的方法分享
2018/05/07 Python
使用Python来开发微信功能
2018/06/13 Python
TensorFlow Session使用的两种方法小结
2018/07/30 Python
python 输入一个数n,求n个数求乘或求和的实例
2018/11/13 Python
python简单实现AES加密和解密
2019/03/28 Python
详解python解压压缩包的五种方法
2019/07/05 Python
如何基于Python实现自动扫雷
2020/01/06 Python
快速实现一个简单的canvas迷宫游戏的示例
2018/07/04 HTML / CSS
高级Java程序员面试题
2016/06/23 面试题
大学生求职工作的自我评价
2014/02/13 职场文书
C++程序员求职信范文
2014/04/14 职场文书
《得道多助,失道寡助》教学反思
2014/04/19 职场文书
小学生竞选班长演讲稿
2014/04/24 职场文书
群众路线批评与自我批评发言稿
2014/10/16 职场文书
五年级下册复习计划
2015/01/19 职场文书
边城读书笔记
2015/06/29 职场文书
CSS3实现的文字弹出特效
2021/04/16 HTML / CSS