Explain following declaration
int *P(void);
and
int (*p)(char *a);
Answers were Sorted based on User's Feedback
Answer / vijay
int* p(void) means p is a function that takes no argument a
return a pointer to integer.
int (*p)(char*a) means that p is a pointer to function that
take character pointer as argument and return an integer.
| Is This Answer Correct ? | 56 Yes | 4 No |
Answer / binod adhikari
int *p(void)
Here p is a pointer function with no arguments. int *p means p is a pointer function which has to return an memory address of integer type to the called function (i.e. where the pointer function p has been called). (void) means function p does not have any argument.
int *p(char *a);
Here p is a pointer function with one pointer arguments of character type. The called function (i.e. where the pointer function p has been called) pass the memory address of the character variable to pointer function p since it has char *a argument. p is a pointer function so, it has to return an memory address of integer type to the called function.
| Is This Answer Correct ? | 9 Yes | 1 No |
Answer / tibu
int *p(void) - says this is function with null parameter
and returns a pointer to an integer.
int (*p)(char *a) - says this is function with a pointer to
a char a as parameter and returns a pointer to an integer.
| Is This Answer Correct ? | 19 Yes | 19 No |
main() { struct s1 { char *str; struct s1 *ptr; }; static struct s1 arr[] = { {"Hyderabad",arr+1}, {"Bangalore",arr+2}, {"Delhi",arr} }; struct s1 *p[3]; int i; < BR> for(i=0;i<=2;i++) p[i] = arr[i].ptr; printf("%s ",(*p)->str); printf("%s ",(++*p)->str); printf("%s ",((*p)++)->str); }
Why flag is used in c?
to find the program of matrix multiplication using arrays
Is it cc or c in a letter?
Is it possible to pass an entire structure to functions?
Where are the auto variables stored?
Explain the difference between the local variable and global variable in c?
how to find the sizof of any datatype using bit manipulations
what is c
write a c program to print "Welcome" without using semicolon in the whole program ??
What is the purpose of clrscr () printf () and getch ()?
What is external variable in c?