- C Programming Examples
- C Programming Examples
- C Print Hello World
- C Get Input from User
- C Print Integer
- C Add Two Numbers
- C Add Subtract Multiply Divide
- C Add n Numbers
- C Area Perimeter of Square
- C Area Perimeter of Rectangle
- C Area Circum of Circle
- C Fahrenheit to Celsius
- C Celsius to Fahrenheit
- C Inches to Centimeters
- C Kilogram to Gram
- C Reverse a Number
- C Swap Two Numbers
- C Interchange Numbers
- C Print ASCII Value
- C Print Fibonacci Series
- C Check Palindrome or Not
- C Check Armstrong or Not
- C Find Armstrong Numbers
- C Find nCr and nPr
- C Find Profit Loss
- C Sum of their Square
- C First & Last Digit Sum
- C Sum of All Digit
- C Product of All Digit
- C Print Total Digit in Number
- C Check Perfect Number
- C Find Basic Gross Salary
- C Round Number to Integer
- C Print Series upto n Term
- C Find Factors of Number
- C if-else & Loop Programs
- C Check Even or Odd
- C Check Prime or Not
- C Check Alphabet or Not
- C Check Vowel or Not
- C Check Leap Year or Not
- C Is Reverse Equal Original
- C Make Calculator
- C Add Digits of Number
- Count Positive Negative Zero
- C Largest of Two Numbers
- C Largest of Three Numbers
- C Smallest of Two Numbers
- C Smallest of Three Numbers
- C Find Factorial of Number
- C Find LCM & HCF
- C Find LCM of n Numbers
- C Find HCF of n Numbers
- C Find Arithmetic Mean
- C Find Average, Percentage
- C Find Student Grade
- C Print Table of Number
- C Print Prime Numbers
- C Find Discount Purchase
- C Calculate Parcel Charge
- C Calculate Wage of Labor
- C Print Phone Bill
- C Conversion programs
- C Decimal to Binary
- C Decimal to Octal
- C Decimal to Hexadecimal
- C Binary to Decimal
- C Binary to Octal
- C Binary to Hexadecimal
- C Octal to Decimal
- C Octal to Binary
- C Octal to Hexadecimal
- C Hexadecimal to Decimal
- C Hexadecimal to Binary
- C Hexadecimal to Octal
- C Pattern Programs
- C Pattern Printing Programs
- C Print Diamond Pattern
- C Print Floyd's Triangle
- C Print Pascal's Triangle
- C Array Programs
- C 1D Array Programs
- C Linear Search
- C Binary Search
- C Largest Element in Array
- C Smallest Element in Array
- C Second Largest/Smallest
- C Count Even Odd
- C Array Element at Even
- C Array Element at Odd
- C Print Even Array Elements
- C Print Odd Array Elements
- C Sum/Product of Even/Odd
- C Reverse an Array
- C Insert Element in Array
- C Delete Element from Array
- C Merge Two Arrays
- C Bubble Sort
- C Selection Sort
- C Insertion Sort
- C Print Common Elements
- C 2D Array Programs
- C Add Two Matrices
- C Subtract Two Matrices
- C Transpose a Matrix
- C Multiply Two Matrices
- C Sum All Matrix Elements
- C Largest Element in Matrix
- C Print Row Column Total
- C 3D Array Programs
- C String Programs
- C Print String
- C Find Length of String
- C Compare Two String
- C Copy a String
- C Concatenate String
- C Reverse a String
- C Count Vowels Consonants
- C Replace Vowel in String
- C Delete Vowels from String
- C Delete Word from String
- C Frequency of Character
- C Count Word in String
- C Remove Spaces from String
- C Sort a String
- C Sort String in Alphabetical
- C Sort Words in Ascending
- C Sort Words in Descending
- C Uppercase to Lowercase
- C Lowercase to Uppercase
- C Swap Two Strings
- C Check Anagram or Not
- C Check Palindrome String
- C Print Number in Words
- C Print Successive Character
- C Character without Space
- C File Programs
- C Read a File
- C Write Content to File
- C Read & Display File
- C Copy a File
- C Merge Two Files
- C Reverse File
- C Count All Character in File
- C List Files in Directory
- C Encrypt & Decrypt a File
- C Delete a File
- C Misc Programs
- Generate Random Numbers
- C Print Date Time
- C Print Message with Time
- C Get IP Address
- C Print Smiling face
- C Pass Array to Function
- Add Two Numbers using Pointer
- C Address of Variable
- C Shutdown Computer
- C Programming Tutorial
- C Tutorial
C Program to Print the Address of a Variable
In this article, we will learn how to create a program in C that prints the address of any variable. At last, we will also learn about printing the address of a variable in C using a pointer.
#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 in the Code::Blocks IDE, here is the sample run after a successful build and run:
Enter any number, say 10, and press the ENTER key to store it inside the variable num. You will see the value of the num variable along with its address:
Program Explained
- Receive any number from the user inside a variable, say num.
- Print back its value on the output screen.
- And to print the address of that variable, say num.
- We have to use the format specifier %u and add the address (&) operator before the variable, say num, so that &num will give the address of the num variable.
Print the address of all variables
Now let's modify the above program. This program uses a total of 3 variables, say num1, num2, and num3, with one extra variable, say sum (which stores the summation result of the given three numbers). and see how the addresses of variables change one by one.
#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:
Now enter any three numbers to store inside the variables num1, num2, and num3, respectively. And then press the ENTER key to see the values of all three variables, along with their addresses, on the output screenshot. We created another variable called sum to store the sum of all three variables, which we then printed on the output screen as its value and address:
Print the value and address of each variable in the array
The question is: write a program in C to print the value and address of all the variables in an array. The answer to this question is:
#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 a sample run of the above program:
Now enter any number, say 6, as the total number of elements that are going to be stored inside the array arr[]. Then enter all 6 array elements and press the ENTER key to see the following output:
Print the value and address of variables in tubular form
Here is the modified version of the above program. This program prints the data (value and its address) in tubular form:
#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:
Pointer is used to print the address of a variable
Now let's create another program in C that prints the address of any variable using pointers:
#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:
Supply any number for the num1 variable and press the ENTER key to see the address of this variable, as shown in the screenshot given below:
Now again, supply any number for the num2 variable and press the ENTER key to see the address of the second variable as shown here:
Program Explained
- Declare any two-pointer integer variable.
- To declare any variable as a pointer variable, just place "*" before the variable.
- That is, *ptr1 and *ptr2 are two variables of pointer type.
- After removing the * before these two variables, both variables become normal variables.
- Now receive a number as input and store it inside the num1 variable.
- As a pointer variable is used to point to a variable's address, to initialize the address of any variable, just use &num1 to initialize address of the num1 variable to pointer.
- So, the ptr1 = &num1; statement says that the address of the num1 variable is set to the ptr1 pointer variable.
- Now, to print the value or address of num1, use the ptr1 pointer variable.
- To print address, use &ptr1, and to print value, use *ptr1. Here "&" is called the "address of" operator, and "*" is called the "value at" operator.
- Never forget to use the %u format specifier to print the address of any variable.
« Previous Program Next Program »