我可以使用NULL
指针替代值0
吗?
或这样做有什么问题吗?
例如,例如:
int i = NULL;
代替:
int i = 0;
作为实验,我编译了以下代码:
#include <stdio.h>
int main(void)
{
int i = NULL;
printf("%d",i);
return 0;
}
输出:
0
确实,它给了我这个警告,它本身是完全正确的:
warning: initialization makes integer from pointer without a cast [-Wint-conversion]
但结果仍然相同。
- 我是否会由此陷入“不确定行为”?
- 可以这样使用
NULL
吗? NULL
在算术表达式中用作数字值有什么问题吗?- 在这种情况下,C ++的结果和行为是什么?
我已阅读的答案是什么NULL之间的区别,“\ 0”和0大约之间的区别是什么NULL
,\0
以及0
是的,但我没有从那里简洁的信息,如果是很允许的,也是正确的使用NULL
作为在赋值和其他算术运算中使用的值。