C语言中空指针的简要指南
一些编程语言使用了null的概念。
Go有nil, JavaScript有null, Python有None ,等等。
C也有NULL 。
然而,NULL的使用方式与其他语言不同。在C语言中,NULL只限于识别一个空指针。
当我们初始化一个指针时,我们可能不一定知道它指向什么。这时它就很有用了。
int * p_some_variable = NULL;
NULL 默认情况下,NULL是不可用的:你需要包含 来使用它(或者如果你愿意的话, 。stdio.h stddef.h
#include <stdio.h>
int main(void) {
int * p_some_variable = NULL;
}
否则C编译器会给你一个错误。
hello.c:3:26: error: use of undeclared identifier
'NULL'
int * p_some_variable = NULL;
^
1 error generated.
你可以通过与NULL 进行比较来检查一个指针是否是空指针。
#include <stdio.h>
int main(void) {
int * p_some_variable = NULL;
if (p_some_variable == NULL) {
printf("equal");
}
}
在实践中,NULL 是一个等同于0 ,或"\0" 的常数。
这就是为什么你可以用以下方法将一个字符串设置为NULL。