C++面试题

当前位置: 面试问题网 > C++面试题 > 如果NULL和0作为空指针常数是等价的,那我到底该用哪一个

如果NULL和0作为空指针常数是等价的,那我到底该用哪一个

许多程序员认为在所有的指针上下文中都应该使用NULL, 以表明该值应该被看作指针。另一些人则认为用一个宏来定义0, 只不过把事情搞得更复杂, 反而令人困惑。因而倾向于使用未加修饰的0。没有正确的答案。C 程序员应该明白, 在指针上下文中NULL 和0 是完全等价的, 而未加修饰的0 也完全可以接受。任何使用NULL (跟0 相对) 的地方都应该看作一种温和的提示, 是在使用指针; 程序员(和编译器都) 不能依靠它来区别指针0 和整数0。在需要其它类型的0 的时候, 即便它可能工作也不能使用NULL, 因为这样做
   发出了错误的格式信息。(而且, ANSI 允许把NULL 定义为((void *)0), 这在非指针的上下文中完全无效。特别是, 不能在需要ASCII 空字符(NUL) 的地方用NULL。如果有必要, 提供你自己的定义
   #define NUL ’’

【如果NULL和0作为空指针常数是等价的,那我到底该用哪一个】相关文章

1. 如果NULL和0作为空指针常数是等价的,那我到底该用哪一个

2. 如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗

3. 在使用非全零作为空指针内部表达的机器上, NULL是如何定义

4. 用缩写的指针比较"if(p)" 检查空指针是否可靠?如果空指针的内部表达不是0会怎么样?

5. int *p=NULL和*p= NULL有什么区别

6. 在C语言中"指针和数组等价"到底是什么意思?

7. 空指针到底是什么

8. 我能否用void** 指针作为参数, 使函数按引用接受一般指针

9. 怎样在程序里获得一个空指针

10. 空字符串(“”)和null的区别

本文来源:https://www.mianshiwenti.com/a13069.html

点击展开全部

《如果NULL和0作为空指针常数是等价的,那我到底该用哪一个》

将本文的Word文档下载到电脑,方便收藏和打印

推荐程度:

进入下载页面

﹝如果NULL和0作为空指针常数是等价的,那我到底该用哪一个﹞相关内容

「如果NULL和0作为空指针常数是等价的,那我到底该用哪一个」相关专题

其它栏目

也许您还喜欢