Null Pointer In C Language
•  NULL Pointer is a pointer which is pointing to nothing.
•  NULL pointer points the base address of segment.
•  In case, if you don’t have address to be assigned to pointer then you can simply use NULL
•  Pointer which is initialized with NULL value is considered as NULL pointer.
•  NULL is macro constant defined in following header files.

1. stdio.h
2. alloc.h
3. mem.h
4. stddef.h
5. stdlib.h

Examples of NULL pointer  :

1. int *ptr=(char *)0;
2. float *ptr=(float *)0;
3. char *ptr=(char *)0;
4. double *ptr=(double *)0;
5. char *ptr=’\0’;
6. int *ptr=NULL;
  Program : The following program is an example of null pointer.
#include <stdio.h>
int main ()
{
   int  *ptr = NULL;
   printf(“The value of ptr is : %x\n”, ptr  );
   return 0;
}
Output :

The value of ptr is 0

On most of the operating systems, programs are not permitted to access memory at address 0 because that memory is reserved by the operating system. However, the memory address 0 has special significance; it signals that the pointer is not intended to point to an accessible memory location. But by convention, if a pointer contains the null (zero) value, it is assumed to point to nothing.

To check for a null pointer you can use an, if statement as follows :

if(ptr) /* succeeds if p is not null */
if(!ptr) /* succeeds if p is null */