C Programming - Complicated Declarations - Discussion
Discussion Forum : Complicated Declarations - General Questions (Q.No. 9)
9.
What do the following declaration signify?
int *f();
Discussion:
6 comments Page 1 of 1.
A.Srikanth said:
7 years ago
No, it is wrong @Natwar.
Please correct in return statement.t return(x) instead of return(*x) and in main() function printf statement printf("*b=%d\n",*b) instead of printf("*b=%d\ n",*b);.
Please correct in return statement.t return(x) instead of return(*x) and in main() function printf statement printf("*b=%d\n",*b) instead of printf("*b=%d\ n",*b);.
Natwar said:
9 years ago
#include<stdio.h>
int *f(void)
{
int *x;
int a=10;
x = &a;
printf("*x = %d\n",*x);
return (*x);
}
int main()
{
int *b;
b = f();
printf("*b = %d\n",b);
return 0;
}
int *f(void)
{
int *x;
int a=10;
x = &a;
printf("*x = %d\n",*x);
return (*x);
}
int main()
{
int *b;
b = f();
printf("*b = %d\n",b);
return 0;
}
Jarvis said:
10 years ago
OK its cool declaration but can you give an example program so that it'll be more clear?
Athul m das said:
1 decade ago
Int *f() is an int pointer but when enclosed in parenthesis int (*f)() it becomes a pointer to a function returning int.
Prajakta said:
1 decade ago
Trick: here () indicates function(method in java) and * sign is given before () so f is function returning pointer and return type is int so, answer B is correct.
Sathish said:
1 decade ago
if we put *f in parenthesis it is pointer to function here parenthesis have greater precedence than astrek operator.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers