In many programming languages, including Go, JavaScript, and Python, the concept of null is widely used. Similarly, C has its own representation called NULL
. However, it is important to note that the usage of NULL
in C is different compared to other languages. In C, NULL
is specifically used to represent a null pointer.
When working with pointers in C, there are situations where we might not know what the pointer points to during initialization. This is where NULL
comes in handy:
int *p_some_variable = NULL;
Please remember that NULL
is not available by default in C. To use it, you need to include the header file stdio.h
(or alternatively, stddef.h
). Here’s an example:
#include <stdio.h>
int main(void) {
int *p_some_variable = NULL;
}
If you attempt to use NULL
without including the necessary header file, the C compiler will throw an error, as shown below:
hello.c:3:26: error: use of undeclared identifier 'NULL'
int *p_some_variable = NULL;
^
1 error generated.
To check whether a pointer is a null pointer, you can compare it to NULL
. Here’s an example:
#include <stdio.h>
int main(void) {
int *p_some_variable = NULL;
if (p_some_variable == NULL) {
printf("Equal");
}
}
In practice, NULL
is a constant that is equivalent to 0
or "\0"
. This is why you can assign NULL
to a string using the following syntax:
char *a_string = '\0';
Tags: C programming, null pointers, pointers in C