理解C中的NULL指针

时间:2015-03-31 22:27:13

标签: c pointers null

我发现在一些代码中NULL指针的定义如下 -

#define NULL ((char *)0)

我发现这些代码编译得很好。但我不明白这是如何运作的。任何人都可以解释如何将0转换为char指针?

使用它作为FILE指针使其有效是否有效 -

FILE *fp = NULL;

1 个答案:

答案 0 :(得分:1)

C库宏NULL是空指针常量的值。它可以定义为((void *)0),0或0L ,具体取决于编译器供应商。< /强> 根据编译器,NULL的声明可以是

#define NULL ((char *)0)

#define NULL 0L

#define NULL 0
  

使用它作为FILE指针使其有效是否有效 - &gt;   是。