我在一些代码中发现 NULL
指针定义如下 -
#define NULL ((char *)0)
我发现这些代码编译得很好。但我不明白这是如何工作的。谁能解释一下如何将 0 转换为 char
指针?
并且将它用作使空的 FILE 指针是否有效 -
FILE *fp = NULL;
最佳答案
C 库宏 NULL 是一个空指针常量的值。它可以定义为 ((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.
关于c - 理解 C 中的 NULL 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29379663/