Pointers in C language makes it unique and offers effective programming capabilities. Using pointers to call functions in C is the best way to call a function dynamically.
//C program to call functions using pointers
#include<stdio.h>
int add(int,int); //function prototype
int sub(int,int);
main()
{
int a,b;
int (*ptr1)(int,int)=add; //declaring pointer to a function and assigning the address of add function
int (*ptr2)(int,int);
clrscr();
ptr2=sub; //assigning the address of function sub
printf("\nEnter two numbers to add\n");
scanf("%d%d",&a,&b);
printf("\ncalling function using pointer\n");
printf("-----------------------------------\n");
(*ptr1)(a,b); //calling function using ptr1 variable
ptr2(a,b); //another way to call function using pointer
getch();
}
int add(int a,int b)
{
printf("The result of addition is %d\n",a+b);
}
int sub(int a,int b)
{
printf("The result of subtraction is %d\n",a-b);
}
/*
OUTPUT
---------
Enter two numbers to add
5
6
calling function using pointer
-----------------------------------
The result of addition is 11
The result of subtraction is -1
*/
//C program to call functions using pointers
#include<stdio.h>
int add(int,int); //function prototype
int sub(int,int);
main()
{
int a,b;
int (*ptr1)(int,int)=add; //declaring pointer to a function and assigning the address of add function
int (*ptr2)(int,int);
clrscr();
ptr2=sub; //assigning the address of function sub
printf("\nEnter two numbers to add\n");
scanf("%d%d",&a,&b);
printf("\ncalling function using pointer\n");
printf("-----------------------------------\n");
(*ptr1)(a,b); //calling function using ptr1 variable
ptr2(a,b); //another way to call function using pointer
getch();
}
int add(int a,int b)
{
printf("The result of addition is %d\n",a+b);
}
int sub(int a,int b)
{
printf("The result of subtraction is %d\n",a-b);
}
/*
OUTPUT
---------
Enter two numbers to add
5
6
calling function using pointer
-----------------------------------
The result of addition is 11
The result of subtraction is -1
*/