How to use NULL in C
New Course Coming Soon:
Get Really Good at Git
A brief guide at null pointers in C
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';
Here is how can I help you:
- COURSES where I teach everything I know
- THE VALLEY OF CODE your web development manual
- BOOTCAMP 2024 cohort in progress, next edition in 2025
- BOOKS 16 coding ebooks you can download for free on JS Python C PHP and lots more
- SOLO LAB everything I know about running a lifestyle business as a solopreneur
- Interesting links collection
- Follow me on X