An example might help you:
extern int function1 (int parameter);
extern int function2 (int parameter);
int (*function_pointer_variable)(int parameter);
function_pointer_variable = function1;
(*function_pointer_variable)(12); /* call function1 */
function_pointer_variable = function2;
(*function_pointer_variable)(33); /* call function2 */
*function();this declares a pointer function!
function pointer is a variable that hold the address of any function which declared in the program but function pointer is the array of the function that accept the run time size of the function.
A pointer to a function is the memory address that stores the address of a function, while the pointer itself is a function pointer.A pointer to a function might be defined as "int (*pf)(int, int);", while to actually point to the function, you would use a function pointer, such as "pf = &func;".
Pointer to Pointer is a double pointer, denoted by (**). Pointer stores the address of the variable and pointer to pointer stores the address of a pointer variable and syntax can be given as int **ptr2ptr;
Usable. A prominent example is param argv of function main.
TARUB
The function ftell returns the position of the file pointer for a file.
float *(*funptr)(int *); float *fun (int *); funptr= fun;
// declare a function int* function(int, int); or int* (function)(int, int); // declare a pointer to a function int* (*pointer_to_function)(int, int);
void
A static function is a member function that is not associated with any instance of the class; it has no this pointer.
A pointer's type does not affect how an address is represented, it affects how the object at that address is to be interpreted. As such, function pointers are represented no differently to any other type of pointer. If the system uses 32-bit addressing than a pointer is 32-bit variable regardless of the type it refers to.