C program to perform double pointer or Pointer to Pointer

Double pointer OR Pointer to Pointer


Write a C program to perform double pointer or Pointer to Pointer. Here’s simple program to perform double pointer or Pointer to Pointer in C Programming Language.


What are Pointers?


A pointer is a variable whose value is the address of another variable, i.e., direct address of the memory location. Like any variable or constant, you must declare a pointer before using it to store any variable address.

The general form of a pointer variable declaration is

  • type *var-name;

Here, type is the pointer’s base type; it must be a valid C data type and var-name is the name of the pointer variable.

The asterisk * used to declare a pointer is the same asterisk used for multiplication. However, in this statement the asterisk is being used to designate a variable as a pointer.

The unary or monadic operator & gives the “address of a variable'”.

The indirection or dereference operator * gives the “contents of an object pointed to by a pointer”.


Below is the source code for C program to perform double pointer or Pointer to Pointer which is successfully compiled and run on Windows System to produce desired output as shown below :


SOURCE CODE : :


/*  C program to perform double pointer or Pointer to Pointer  */

#include <stdio.h>

int main()
{
    int a;          //integer variable
    int *p1;            //pointer to an integer
    int **p2;           //pointer to an integer pointer

    p1=&a;          //assign address of a
    p2=&p1;         //assign address of p1

    a=100;          //assign 100 to a

    //access the value of a using p1 and p2
    printf("Value of a (using p1): %d",*p1);
    printf("\n\nValue of a (using p2): %d",**p2);

    //change the value of a using p1
    *p1=200;
    printf("\n\nAfter Changing, Value of a (using p1): %d",*p1);
    //change the value of a using p2
    **p2=200;
    printf("\n\nAfter Changing, Value of a (using p2): %d",**p2);

    return 0;
}

Output : :


/*  C program to perform double pointer or Pointer to Pointer  */

Value of a (using p1): 100

Value of a (using p2): 100

After Changing, Value of a (using p1): 200

After Changing, Value of a (using p2): 200

Process returned 0

Above is the source code for C program to perform double pointer or Pointer to Pointer which is successfully compiled and run on Windows System.The Output of the program is shown above .

If you found any error or any queries related to the above program or any questions or reviews , you wanna to ask from us ,you may Contact Us through our contact Page or you can also comment below in the comment section.We will try our best to reach up to you in short interval.


Thanks for reading the post….

Leave a Reply