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';
Lessons in this unit:
| 0: | Introduction |
| 1: | Input and output |
| 2: | Variable scope |
| 3: | Static variables |
| 4: | Global variables |
| 5: | Type definitions |
| 6: | Enumerations |
| 7: | Structures |
| 8: | Command line parameters |
| 9: | Header files |
| 10: | The preprocessor |
| 11: | ▶︎ NULL values |
| 12: | Boolean values |
| 13: | Nesting functions |
| 14: | Conversion specifiers |
| 15: | Using quotes |
| 16: | String length |
| 17: | Returning strings |
| 18: | Array length |
| 19: | Looping through arrays |
| 20: | Checking character values |
| 21: | Printing percentage signs |
| 22: | Troubleshooting: Implicit function declarations |