# Education is not limited to just classrooms. It can be gained anytime, anywhere... - Ravi Ranjan (M.Tech-NIT)

In this tutorial we will be learning how to add the two numbers using pointer in c programming.

Recommanded Articles : Function pointer | Function pointer reference

## How to add two numbers using function pointer ?

```#include<stdio.h>

int sum (int n1,int n2);

int main()
{
int num1 = 10;
int num2 = 20;
int result;

int *(*ptr)(int,int);
ptr = &sum;
result = (*ptr)(num1,num2);

return(0);
}

int sum (int n1,int n2)
{
return(n1 + n2);
}```

Output :

`Addition : 20`

## Explanation :

• Write whole program using normal function call i.e sum(num1,num2);
• After you write whole code, just erase line in which we have called function and replace that line with following line –

### Step 1 : Declaring Pointer Variable

`int *(*ptr)(int,int);`

means –

Declare pointer variable which is capable of storing address of function which have integer as return type and which takes 2 arguments

### Step 2 : Initializing function Pointer

`ptr = &sum;`

using above statement we will be storing address of function in function pointer

### Step 3 : Calling Function

`result = (*ptr)(num1,num2);`

It will call function sum(num1,num2). Above statement will be elaborated as –

```result = (*ptr)(num1,num2);
result = (*&sum)(num1,num2);
result = (*&sum)(num1,num2);
result = (sum)(num1,num2);
result = sum(num1,num2);```