How to use NULL in C

A brief guide to null pointers in C language

Several programming languages make use ofNull value.

Go therenil, JavaScript hasnull, Python hasNone, and many more.

C hasNULL.

However, NULL is used differently from other languages. In C, NULL is limited to identifying oneNull pointer.

When we initialize apointer, We may not always know what it refers to. That's when it's useful:

int * p_some_variable = NULL;

NULLNot available by default: you need to includestdio.hUse it (or, if you like,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


More clang tutorials: