理解 C 中的 NULL 指针

Understanding NULL pointer in C

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

#define NULL ((char *)0)

我发现这些代码编译得很好。但我不明白这是如何工作的。谁能解释一下如何将 0 转换为 char 指针?

将其用作 FILE 指针是否有效 -

FILE *fp = NULL;

C 库宏 NULL 是一个空指针的值 constant.It 可以定义为 ((void*)0), 0 或 0L 取决于编译器供应商。 根据编译器的不同,NULL 的声明可以是

#define NULL ((char *)0)

#define NULL 0L

#define NULL 0

And is it valid to use it as a FILE pointer making null--> Yes.