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