Tuesday, 19 March 2013

What Is Null Pointer in C Language?

It is always a good practice to assign a NULL value to a Pointer variable in case you do not have an exact address to be assigned. This is done at the time of variable declaration. A Pointer that is assigned NULL is called a null Pointer. The NULL Pointer is a constant at a value of zero defined in several standard libraries.
Consider the following program:



  1. #include <stdio.h>
  2. int main ()
  3. {
  4.    int  *ptr = NULL;
  5.    printf("The value of  ptr is : %x\n", &ptr  );
  6.    return 0;
  7. }

    When the above code is compiled and executed, it produces following result:

    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. However, 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 */
                                          




    0 comments:

    Post a Comment

    Twitter Delicious Facebook Digg Stumbleupon Favorites More