Can I use NULL as substitution for the value of 0?(我可以使用 NULL 代替 0 的值吗?)
本文介绍了我可以使用 NULL 代替 0 的值吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我可以使用 NULL 指针代替
0
的值吗?
或者这样做有什么问题吗?
<小时>例如:
int i = NULL;
替代:
int i = 0;
<小时>
作为实验,我编译了以下代码:
#include
int main(void){int i = NULL;printf("%d",i);返回0;} 输出:
<预><代码>0
确实它给了我这个警告,它本身是完全正确的:
警告:初始化从指针生成整数,无需强制转换 [-Wint-conversion]
但结果仍然是等价的.
<小时>- 我是否会因此而陷入未定义行为"?
- 是否允许以这种方式使用
NULL
? - 在算术表达式中使用
NULL
作为数值有什么问题吗? - 对于这种情况,C++ 中的结果和行为是什么?
我已经阅读了有什么区别NULL, ' ' and 0 关于NULL
,