what is a function pointer and how all to declare ,define
and implement it ???
Answers were Sorted based on User's Feedback
Answer / abdur rab
A pointer variable which holdes the address of a function
is a function pointer.
eg:
declaration of function pointer
void (*function_name)( int, int ) = NULL;
defining a function
void sum ( int x, int y )
{
printf ( "\nThe sum :%d", x + y );
}
void difference ( int x, int y )
{
printf ( "\nThe difference :%d", x - y );
}
using the function pointer in the place of function.
Remember to use the same prototype as declared.
int main ( int argc, char* argv [] )
{
function_name = sum; //short way of doing
function_name = ∑ // best practice
function_name ( 10, 20 ); //short way of doing
(*function_name) ( 10, 20 ); //best practice
function_name = &difference; //best practice
(*function_name) ( 10, 20 ); //best practice
return ( 0 );
}
output
======
The sum :30
The difference :-10
Is This Answer Correct ? | 9 Yes | 1 No |
Answer / satish
Function pointer:
a function can be called not only by
its name,but also by other name which is called function
pointer.
void fact(int);
void main()
{
void(*p)(int);
printf("Enter n\n");
scanf("%d",&n);
p=fact;
fact(n);/*normal calling a function*/
(*p)(n); /*fn calling using function pointer*/
}
void (*p)(int n)
{
int ans=1;
while(n>0)
{
ans*=n--;
}
printf(" %d != %d",n,ans);
Is This Answer Correct ? | 3 Yes | 4 No |
Answer / swagatika
function pointer is function returning a pointer
Example-
int *sum(int a, int b)
{
int x;
x= a+b;
return &x;
}
but the pointer to a function means a function interm of
pointer pointing to the another function.
int (*sum)(sum1);//pointer to a function
Is This Answer Correct ? | 0 Yes | 1 No |
Answer / mathiyazhagan
A function can itself stored in a memory address.By calling
the address ,instead of function name,we can invoke
function.
Eg.:
#include <stdio.h>
void sum(int,int);
{
void (*fp)(); //() denotes pointer to a function
fp=sum(); // no need & .reason : same of array
fp(10,20); //invoking function
}
void sum(int x,int y)
{
printf("sum of x%d and %d is =%d",x,y,x+y);
}
Is This Answer Correct ? | 1 Yes | 5 No |
what do you mean by enumeration constant?
what is mean by Garbage collection ? Please answer me. Advance thanks.
Print the foll in C...eg when n=5 the o/p must b + + + + + + + + + + + + + + + + +
do ne body have any idea about the salary for the we r going to have interview. yup .. u got it right ..i m talking abt NIC.
int far *near * p; means
Where in memory are my variables stored?
What is static memory allocation? Explain
What is hash table in c?
what defference between c and c++ ?
An application package has been provided to you without any documents for the following application. The application needs to be tested. How will you proceed?
When do you say that a digraph is acyclic A)if and only if its first search does not have back arcs B)a digraph is acyclic if and only if its first search does not have back vertices C)if and only if its first search does not have same dfnumber D)None of these
wat are the two methods for swapping two numbers without using temp variable??