如何在C语言中使用NULL

118 阅读1分钟

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。