text: Several programming languages make use of the concept of null.
  Go has
  nil, JavaScript has
  null, Python has
  None, and so on.
  C has
  NULL.
  NULL however is used differently from other languages. In C, NULL is limited to identifying a null pointer.
  When we initialize a pointer, we might not always know what it points to. That’s when it is useful:
  int * p_some_variable = NULL;
  NULL is not available by default: you need to include
  stdio.h to use it (or if you prefer,
  stddef.h:
  #include <stdio.h> int main(void) { int * p_some_variable = NULL; }
  Otherwise the C compiler will give you an error:
  hello.c:3:26: error: use of undeclared identifier 'NULL' int * p_some_variable = NULL; ^ 1 error generated.
  You can check if a pointer is a null pointer by comparing it to
  NULL:
  #include <stdio.h> int main(void) { int * p_some_variable = NULL; if (p_some_variable == NULL) { printf("equal"); } }
  In practice,
  NULL is a constant equivalent to
  0, or
  "\0".
  This is why you can set a string to NULL using:
  char *a_string = '\0';
  Download my free C Handbook!