codescracker
c

C Program to Print Address of Variable



« C Tutorial C Examples »

In this tutorial, we will learn about how to create a program in C that prints address of any variable. At last we will also learn about printing an address of a variable in C using pointer.

// Print Address of Variable in C
// ----codescracker.com----

#include<stdio.h>
#include<conio.h>
int main()
{
    int num;
    printf("Enter any number to store in \"num\" variable: ");
    scanf("%d", &num);
    printf("\nValue of num = %d", num);
    printf("\nAddress of num = %u", &num);
    getch();
    return 0;
}

As the program was written under Code::Blocks IDE, therefore here is the sample run after successful build and run:

c program print address of variable

Enter any number say 10 and press ENTER key to store it inside the variable num. You will see the value of num variable with its address:

print address of variable c

Program Explained

Print Address of all Variables

Now let's modify the above program. This program uses total of 3 variables say num1, num2, and num3 with one extra variable say sum (stores the summation result of given three numbers). And see how the address of variables changes one by one.

// Print Address of All Variables
// ----codescracker.com----

#include<stdio.h>
#include<conio.h>
int main()
{
    int num1, num2, num3, sum;
    printf("Enter any number to store in \"num1\" variable: ");
    scanf("%d", &num1);
    printf("Enter any number to store in \"num2\" variable: ");
    scanf("%d", &num2);
    printf("Enter any number to store in \"num3\" variable: ");
    scanf("%d", &num3);
    printf("\nValue of num1 = %d", num1);
    printf("\nAddress of num1 = %u", &num1);
    printf("\nValue of num2 = %d", num2);
    printf("\nAddress of num2 = %u", &num2);
    printf("\nValue of num3 = %d", num3);
    printf("\nAddress of num3 = %u", &num3);
    sum = num1+num2+num3;
    printf("\n\nValue of sum = %d", sum);
    printf("\nAddress of sum = %u", &sum);
    getch();
    return 0;
}

Here is its sample run:

print address of variables in c

Now enter any three numbers to store inside the variables num1, num2, and num3 respectively. And press ENTER key to see values of all the three variables back on the output screenshot along with its address. We have created another variable named sum to store sum of all the three variables and then have printed back on the output screen as its value and address:

print variable address c program

Print Value and Address of Variable in Array

The question is, write a program in C to print value and address of all the variables inside an array. The answer to this question is:

// ----codescracker.com----

#include<stdio.h>
#include<conio.h>
int main()
{
    int arr[100], max, i;
    printf("How many elements you want to store in array: ");
    scanf("%d", &max);
    printf("Enter %d array elements: ", max);
    for(i=0; i<max; i++)
    {
        scanf("%d", &arr[i]);
    }
    printf("\n");
    for(i=0; i<max; i++)
    {
        printf("Value of arr[%d] = %d \t Address of arr[%d] = %u",i,arr[i],i,&arr[i]);
        printf("\n");
    }
    getch();
    return 0;
}

Here is the sample run of above program:

print value address of variable in array c

Now enter any number say 6 as total number of elements that is going to be stored inside the array arr[]. Then enter all the 6 array elements and press ENTER key to see the following output:

print array variable address c program

Print Value and Address in Tabular Form

Here is the modified version of above program. This program prints the data (value and its address) in tubular form:

// ----codescracker.com----

#include<stdio.h>
#include<conio.h>
int main()
{
    int arr[100], max, i;
    printf("How many elements you want to store in array: ");
    scanf("%d", &max);
    printf("Enter %d array elements: ", max);
    for(i=0; i<max; i++)
    {
        scanf("%d", &arr[i]);
    }
    printf("\n\n\t\tValue\t\tAddress\n\n");
    for(i=0; i<max; i++)
    {
        printf("arr[%d]\t\t%d\t\t%u",i,arr[i],&arr[i]);
        printf("\n");
    }
    getch();
    return 0;
}

Here is its sample run:

print variable address tubular form c program

using Pointer

Now let's create another program in C that prints address of any variable using pointer:

// Print Address of Variable using Pointer
// ----codescracker.com----

#include<stdio.h>
#include<conio.h>
int main()
{
    int num1, *ptr1, num2, *ptr2;
    printf("Enter the value of num1: ");
    scanf("%d", &num1);
    ptr1 = &num1;
    printf("Address of num1 = %u", &ptr1);
    ptr2 = &num2;
    printf("\n\nEnter the value of num2: ");
    scanf("%d", &num2);
    ptr2 = &num2;
    printf("Address of num2 = %u", &ptr2);
    getch();
    return 0;
}

This is the first snapshot of the sample run:

c program print address of variable using pointer

Supply any number for num1 variable and press ENTER key to see the address of this variable as shown in the screenshot given below:

print address of variable using pointer c

Now again supply any number for num2 variable and press ENTER key to see the address of second variable as shown here:

address of variable using pointer c

Program Explained


« C Tutorial C Examples »