A Guide to NULL in C

Updated onbyAlan Morel
A Guide to NULL in C

Table of Contents

  1. Conclusion

Most programming languages have some concept of null values. Generally, null is a value that represents nothing and therefore is usually used to represent the absence of a value when a variable is not initialized.

For example, JavaScript uses null, Python uses None, and Ruby uses nil.

C, uses NULL.

While null is usually used to represent the absence of a value, in C, it is used to represent a null pointer.

When you want to initialize a pointer but don't yet have a value, you can use NULL.

int *pointer = NULL;

To ensure that you don't get the use of undeclared identifier error, make sure to include the stdio.h header file that comes with C.

#include <stdio.h>

int main() {
    int *pointer = NULL;

    printf("%p", pointer);

    return 0;
}

In addition to using it as a value to set a new pointer to, you can also use NULL to check if variables are pointing to a valid address or not.

Here's how to check if a pointer is a null pointer or not in C:

#include <stdio.h>

int main() {
    int *pointer = NULL;

    if (pointer == NULL) {
        printf("Pointer is NULL");
    } else {
        printf("Pointer is not NULL");
    }

    return 0;
}
Pointer is NULL

Under the hood, NULL is just a constant pointer guaranteed to not point to any valid address.

In some cases, you could replace NULL with 0 to get the same result, but the intent of your code will be more clear if you use NULL instead.

Conclusion

Hopefully, this post gave you a quick overview of how NULL works in C.

You can use NULL to initialize a variable to point to nothing, or use it to check if a pointer is a null pointer or not.

Happy coding!

To learn more about web development, founding a start-up, and bootstrapping a SaaS, follow me on X!
Copyright © 2017 - 2024 Sabe.io. All rights reserved. Made with ❤ in NY.