我是否可以使用 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
作为数值有什么问题吗?我读过 NULL、0和0之间的区别是什么关于 NULL
,\0
和 0
之间的区别是什么的答案,但是我没有从中得到简明的信息,如果它是相当允许的,也是正确的使用 NULL
作为值在作业和其他算术运算中操作。