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

面试题 相关文章推荐
Java如何格式化日期
Aug 07 面试题
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
Apr 28 面试题
SQL里面IN比较快还是EXISTS比较快
Jul 19 面试题
一套.net面试题及答案
Nov 02 面试题
Linux开机引导的步骤是什么
Oct 19 面试题
sort命令的作用和用法
Aug 25 面试题
如何查看在weblogic中已经发布的EJB
Jun 01 面试题
Prototype如何实现页面局部定时刷新
Aug 06 面试题
String s = new String(“xyz”);创建了几个String Object?
Aug 05 面试题
新锐科技Java程序员面试题
Jul 25 面试题
什么是方法的重载
Jun 24 面试题
三个Unix的命令面试题
Apr 12 面试题
实现向右循环移位
Jul 31 #面试题
类成员函数的重载、覆盖和隐藏区别
Jan 27 #面试题
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
Nov 09 #面试题
将一个数的从第5位开始的7个数取出,其余位置0
May 26 #面试题
NULL是什么,它是怎么定义的
May 09 #面试题
简述数组与指针的区别
Jan 02 #面试题
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
Feb 10 #面试题
You might like
编写安全 PHP应用程序的七个习惯深入分析
2013/06/08 PHP
PHP检测用户语言的方法
2015/06/15 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
2015/12/17 PHP
PHP分页初探 一个最简单的PHP分页代码的简单实现
2016/06/21 PHP
常见的原始JS选择器使用方法总结
2014/04/09 Javascript
javascript ajax的5种状态介绍
2014/08/18 Javascript
jquery实现图片放大镜功能
2015/11/23 Javascript
jQuery实现简单的DIV拖动效果
2016/02/19 Javascript
jquery自定义插件结合baiduTemplate.js实现异步刷新(附源码)
2016/12/22 Javascript
JS字符串false转boolean的方法(推荐)
2017/03/08 Javascript
nodejs搭建本地http服务器教程
2017/03/13 NodeJs
backbone简介_动力节点Java学院整理
2017/07/14 Javascript
JS中Attr的用法详解
2017/10/09 Javascript
细说webpack源码之compile流程-rules参数处理技巧(2)
2017/12/26 Javascript
javascript用defineProperty实现简单的双向绑定方法
2020/04/03 Javascript
在vue中获取wangeditor的html和text的操作
2020/10/23 Javascript
Python CSV模块使用实例
2015/04/09 Python
python3实现TCP协议的简单服务器和客户端案例(分享)
2017/06/14 Python
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
用python实现学生管理系统
2020/07/24 Python
如何利用python进行时间序列分析
2020/08/04 Python
python time.strptime格式化实例详解
2021/02/03 Python
Python Pygame实现俄罗斯方块
2021/02/19 Python
美国LOGO设计公司:The Logo Company
2018/07/16 全球购物
法国高保真音响和家庭影院商店:Son Video
2019/04/26 全球购物
法国购买二手电子产品网站:Asgoodasnew
2020/03/27 全球购物
当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
2014/04/28 面试题
家长会主持词
2014/03/26 职场文书
生活小常识广播稿
2014/09/16 职场文书
学术会议邀请函
2015/01/30 职场文书
瘦西湖导游词
2015/02/03 职场文书
劳资员岗位职责
2015/02/13 职场文书
贫困生证明范文
2015/06/16 职场文书
再次探讨go实现无限 buffer 的 channel方法
2021/06/13 Golang
python异常中else的实例用法
2021/06/15 Python