
{
printf(“ Rahul got %d marks in maths.\n”,mks);
}
int main ()
{
void (*ptr1) (int) = fun;
ptr1(20);
return 0;
}
In the above function, the fun pointer is a pointer pointing to a function name fun, which will return an integer value at the end of execution.
Start your programming career with the C programming foundation. Let us learn some significant information in this article related to the function pointers in C.
| Function Pointer Syntax in C |
| return data_type (*pointer_name) (parameter_type); |
| Function Pointer in C |
| int add (int a, int b) { return a + b; } int main () { int (*functionPtr)(int, int); functionPtr = add; int result = functionPtr (2,3); printf (“Result: %d\n”, result); |
| Function Pointer in C |
| Result: 5 |
| Function Pointers in C |
| void fun (int a ) { printf(“ Rahul got %d marks in maths.\n”,mks); } int main () { void (*ptr1) (int) = fun; ptr1(20); return 0; } |
| Function Pointer in C |
| return _type (*functionPtr [SIZE]) (parameter_type) |
Also read: Linear Search Algorithm in C
Let us take an example to understand the array of function pointers in C.| Function Pointer in C |
| #include <stdio.h> int add(int a, int b) { return a + b; } int subtract(int a, int b) { return a - b; } int multiply(int a, int b) { return a * b; } int main() { // Declare an array of function pointers int (*functionPtrArray[3])(int, int) = {add, subtract, multiply}; // Call functions using function pointers int result1 = functionPtrArray[0](3, 5); int result2 = functionPtrArray[1](8, 2); int result3 = functionPtrArray[2](4, 6); printf("Result 1: %d\n", result1); printf("Result 2: %d\n", result2); printf("Result 3: %d\n", result3); return 0; } |
Also read: Keywords and Identifiers in C
Output:| Function Pointers in C |
| Result1: 8 Result2: 6 Result3: 24 |
| Function Pointers in C |
| #include <stdio.h> int add(int a, int b) { return a + b; } int subtract(int a, int b) { return a - b; } int main() { int (*functionPtr)(int, int); int a = 10, b = 5; char operation = '+'; if (operation == '+') { functionPtr = add; } else if (operation == '-') { functionPtr = subtract; } else { printf("Invalid operation\n"); return 1; } int result = functionPtr(a, b); printf("Result: %d\n", result); return 0; } |
| Function Pointer in C |
| Result: 15 |
| Referencing a Function pointer in C |
| int add(int a, int b) { return a + b; } int (*functionPtr)(int, int); functionPtr = add; |
| Dereferencing a Function pointer in C |
| int result = functionPtr (2, 3); printf ("Result: %d\n", result); // Output: Result: 5 |
| Function Pointer in C |
| #include <stdio.h> // Function prototypes for operations int add(int a, int b); int subtract(int a, int b); int multiply(int a, int b); int divide(int a, int b); int main() { int (*operation)(int, int); int a, b, result; char operator; printf("Enter operation (+, -, *, /): "); scanf(" %c", &operator); switch (operator) { case '+': operation = add; break; case '-': operation = subtract; break; case '*': operation = multiply; break; case '/': operation = divide; Break; default: printf("Invalid operation\n"); return 1; } printf("Enter two numbers: "); scanf("%d %d", &a, &b); result = operation(a, b); printf("Result: %d\n", result); return 0; } int add(int a, int b) { return a + b; } int subtract(int a, int b) { return a - b; } int multiply(int a, int b) { return a * b; } int divide(int a, int b) { if (b != 0) { return a / b; } else { printf("Error: Division by zero\n"); return 0; } } |
Recommended Reads