C - Pointer NULL Pointer


Suppose that you create a pointer like this:

int *pvalue = NULL;

NULL is a special symbol in C that represents the pointer equivalent to 0.

The symbol is often defined as ((void*)0).

When you assign 0 to a pointer, it's the equivalent of setting it to NULL, so you could write the following:

int *pvalue = 0;

Since NULL is the equivalent of zero, to test whether pvalue is NULL, you can write this:

  //the pointer is NULL!

When pvalue is NULL, !pvalue will be true. Alternatively, you can write the test as follows:

if(pvalue == NULL)
  // Tell everyone! - the pointer is NULL! . . .