C++ Pointers & Functions Question:
Download Job Interview Questions and Answers PDF
Explain function pointers?
Answer:
A function has a physical location in the memory which is the entry point of the function. And this is the address used when a function is called. This address can be assigned to a pointer. Once a pointer points to a function, the function can be called through that pointer. Function pointers also allow functions to be passed as arguments to other functions. The address of a function is obtained by using the function’s name without any parenthesis or arguments.
Consider following example:
#include <iostream>
using namespace std;
void check(char *a, char *b, int (*cmp) (const char*, const*));
int numcmp(const char *a, const char *b);
int main()
{
char s1[80], s2[80];
gets (s1);
gets (s2);
if (isalpha(*s1))
check(s1, s2, strcmp);
else
check(s1, s2, numcmp);
return 0;
}
void check(char *a, char *b, int (*cmp) (const char*, const*))
{
cout <<”Testing for equality \n”;
if(!(*cmp)(a,b))
cout <<“Equal”;
else
cout <<“ Not Equal”;
}
int numcmp(const char *a, const char *b)
{
if(atoi(a) == atoi(b))
return 0;
else
return 1;
}
In this function, if you enter a letter, strcmp() is passed to check() otherwise numcmp() is used.
Consider following example:
#include <iostream>
using namespace std;
void check(char *a, char *b, int (*cmp) (const char*, const*));
int numcmp(const char *a, const char *b);
int main()
{
char s1[80], s2[80];
gets (s1);
gets (s2);
if (isalpha(*s1))
check(s1, s2, strcmp);
else
check(s1, s2, numcmp);
return 0;
}
void check(char *a, char *b, int (*cmp) (const char*, const*))
{
cout <<”Testing for equality \n”;
if(!(*cmp)(a,b))
cout <<“Equal”;
else
cout <<“ Not Equal”;
}
int numcmp(const char *a, const char *b)
{
if(atoi(a) == atoi(b))
return 0;
else
return 1;
}
In this function, if you enter a letter, strcmp() is passed to check() otherwise numcmp() is used.
Download C++ Pointers & Functions Interview Questions And Answers
PDF
Previous Question | Next Question |
Explain pointer with examples? | Explain const pointer and const reference? |