我发现在一些代码中NULL
指针的定义如下 -
#define NULL ((char *)0)
我发现这些代码编译得很好。但我不明白这是如何运作的。任何人都可以解释如何将0转换为char
指针?
使用它作为FILE指针使其有效是否有效 -
FILE *fp = NULL;
答案 0 :(得分:1)
C库宏NULL是空指针常量的值。它可以定义为((void *)0),0或0L ,具体取决于编译器供应商。< /强> 根据编译器,NULL的声明可以是
#define NULL ((char *)0)
或
#define NULL 0L
或
#define NULL 0
使用它作为FILE指针使其有效是否有效 - &gt; 是。