Function Pointer in C
C Programming Language Pointer in C Language (Article) Pointer in C Language (Program)
815Program:
#include // A normal function with an int parameter // and void return type void fun(int a) { printf("Value of a is %d\n", a); } int main() { // fun_ptr is a pointer to function fun() void (*fun_ptr)(int) = &fun; /* The above line is equivalent of following two void (*fun_ptr)(int); fun_ptr = &fun; */ // Invoking fun() using fun_ptr (*fun_ptr)(10); return 0; }
Output:
Value of a is 10
Explanation:
Why do we need an extra bracket around function pointers like fun_ptr in above example? If we remove bracket, then the expression “void (*fun_ptr)(int)” becomes “void *fun_ptr(int)” which is declaration of a function that returns void pointer.
This Particular section is dedicated to Programs only. If you want learn more about C Programming Language. Then you can visit below links to get more depth on this subject.