C Program to Add Two Numbers Using Pointers

A variable in C is the name given to a memory location, where a program can store data. Instead of referring a variable's data with it's identifier we can also use memory address to access it using '*'(value of) operator. To get the memory address of any variable we can use '&'(Address Of) Operator.

This program does addition of two numbers using pointers. First, we take two integers as input form user and store it in firstNumber and secondNumber integer variables then we assign addresses of firstNumber and secondNumber in firstNumberPointer and secondNumberPointer integer pointer variable respectively using Address operator(&).

Now we add the values pointed by firstNumberPointer and secondNumberPointer using Value at operator (*) and store sum in variable sum. At last, prints the sum on screen using printf function.

Pointer Operators in C
Operator Operator name Description
* Value at Operator Returns the value of the variable located at the address specified by the pointer
& Address of operator Returns the memory address of a variable

Importance of Practicing the Program Using Pointers for Beginners

  • Understanding of Memory Allocation : Implementing this program helps beginners understand how memory is allocated and managed in C programming. It provides hands-on experience with dynamic memory allocation using pointers.

  • Introduction to Pointers : This program introduces beginners to the concept of pointers in C programming. It demonstrates how to declare and use pointers to access and manipulate data in memory.

  • Memory Management : Writing this program helps you understand memory management in C programming. You will learn how to allocate and deallocate memory using pointers, which is essential for efficient memory usage.

  • Improved Performance : Using pointers can lead to improved performance in certain scenarios, especially when dealing with large data structures. Pointers allow for direct access to memory locations, reducing the overhead of accessing data through variables.

  • Enhanced Problem-Solving Skills : Writing this program enhances your problem-solving skills by challenging you to think about how to use pointers to perform arithmetic operations. It improves your ability to manipulate data at a low level.

  • Preparation for Advanced Concepts : The skills and concepts you learn from this program prepare you for more advanced topics in C programming, such as data structures and algorithms. It lays the foundation for understanding complex data structures that rely heavily on pointers.

C Program to Add Two Numbers using Pointer

#include <stdio.h>

int main(){
    int firstNumber, secondNumber, sum;
    /* Pointers declaration */
    int *firstNumberPointer, *secondNumberPointer;
    printf("Enter two numbers \n");
    scanf("%d %d", &firstNumber, &secondNumber);
    /* Pointer assignment*/
    firstNumberPointer = &firstNumber;
    secondNumberPointer = &secondNumber;
    sum = *firstNumberPointer + *secondNumberPointer;
    printf("SUM = %d", sum);
    return 0;
Enter two numbers 
4 6
SUM = 10

Advantages of Factory Design Pattern

  • Initialize Pointers Properly : Always initialize pointers before using them to avoid accessing invalid memory locations.

  • Use Pointer Arithmetic with Caution : Be cautious when using pointer arithmetic, as it can lead to undefined behavior if not used correctly. Ensure that you understand the rules for pointer arithmetic in C.

  • Free Memory After Use : If you allocate memory dynamically using pointers, remember to free the memory after use to avoid memory leaks.


In conclusion, the C Program to Add Two Numbers Using Pointers is a valuable exercise that introduces beginners to the concept of pointers in C programming. Practicing this program is important for beginners to develop a solid understanding of pointers and memory management, which are essential skills for efficient C programming.

Related Topics
C program to add n numbers
C program to add two complex numbers
C program to add n numbers
C program to add digits of a number
C program to calculate power of a number
C program to check a number is palindrome or not
C program to reverse a number
List of all C programs