Function pointer points to the address of a function. It just a pointer or variable.
Uses of function pointer:
1. To replace switch/if else statement
2. Implement callback or late-binding
3. Allocation of space in memory of a this function is very less the the normal function.
4. etc.
It is only important how you, or better your compiler/processor, interpret the memory a pointer points to.
Uses of function pointer:
1. To replace switch/if else statement
2. Implement callback or late-binding
3. Allocation of space in memory of a this function is very less the the normal function.
4. etc.
It is only important how you, or better your compiler/processor, interpret the memory a pointer points to.
//define a function pointer and initialize to NULL
int (*pt2Function)(float, char, char) = NULL;
//define the calling convention
void __cdecl DoIt(float a, char b, char c); // Borland and Microsoft
void DoIt(float a, char b, char c) __attribute__((cdecl)); // GNU GCC
//assignment of an address to a function pointer
pt2Function = DoIt; // short form
pt2Function = &DoMore; // correct assignment using address operator
//calling a function using a function pointer
int result1 = pt2Function (12, ’a’, ’b’); // C short way
int result2 = (*pt2Function) (12, ’a’, ’b’); // C
No comments:
Post a Comment