NULL pointer in C At the very high level, we can think of NULL as a null pointer which is used in C for various purposes. Some of the most common use cases for NULL are
- To initialize a pointer variable when that pointer variable isn’t assigned any valid memory address yet.
- To check for a null pointer before accessing any pointer variable. By doing so, we can perform error handling in pointer related code e.g. dereference pointer variable only if it’s not NULL.
C
if (pInt != NULL)
{
}
else {
}
|
- To pass a null pointer to a function argument when we don’t want to pass any valid memory address.
C
int fun( int * ptr)
{
return 10;
}
fun(NULL);
|
Pointer to a Null Pointer As Null pointer always points to null, one would think that Pointer to a Null Pointer is invalid and won’t be compiled by the compiler. But it is not the case. Consider the following example:
C++
#include <iostream>
using namespace std;
int main()
{
char * np = NULL;
char ** pnp = &np;
if (*pnp == NULL) {
cout << "Pointer to a null pointer is valid" << endl;
}
else {
cout << "Pointer to a null pointer is invalid" << endl;
}
return 0;
}
|
C
#include <stdio.h>
int main()
{
char * np = NULL;
char ** pnp = &np;
if (*pnp == NULL) {
printf ( "Pointer to a null pointer is valid\n" );
}
else {
printf ( "Pointer to a null pointer is invalid\n" );
}
return 0;
}
|
Not only this program compiles but executes successfully to give the output as Output:
Pointer to a null pointer is valid
Explanation: What happens here is that when a Null pointer is created, it points to null, without any doubt. But the variable of Null pointer takes some memory. Hence when a pointer to a null pointer is created, it points to an actual memory space, which in turn points to null. Hence Pointer to a null pointer is not only valid but important concept.
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
16 Jun, 2022
Like Article
Save Article