A function 'p' that accepts a pointer to a character as argument and returns a pointer to an array of integer can be declared as
A. int(*p(char *))[]
B. int *p(char *)[]
C. int (*p) (char *)[]
D. None of these.
Answer: Option A
Solution(By Examveda Team)
OPTION 'A' AS CORRECT...THERE ARE SEVERAL DIFFERENT USES OF POINTERS IN C...THEY ARE
(1) int *p;
// p is a pointer to an integer quantity
(2) int *p[10];
// p is a 10-element array of pointers to integer quantities
(3) int (*p)[10];
// p is a pointer to a 10-element integer array
(4) int *p(void);
// p is a function that returns a pointer to an integer quantity
(5) int p(char *a);
// p is a function that accepts an argument which is a pointer to a character returns an integer quantity
(6) int *p(char *a);
// p is a function that accepts an argument which is a pointer to a character returns a pointer to an integer quantity.
(7) int (*p)(char *a);
// p is pointer to a function that accepts an argument which is a pointer to a character returns an integer quantity.
(8) int (*p(char *a))[10];
// p is a function that accepts an argument which is a pointer to a character returns a pointer to a 10-element integer array.
(9) int p(char (*a)[]);
// p is a function that accepts an argument which is a pointer to a character array returns an integer quantity.
(10) int p(char *a[]);
// p is a function that accepts an argument which is a array of pointers to characters returns an integer quantity
(11) int *p(char a[]);
// p is a function that accepts an argument which is a character array returns a pointer to an integer quantity
(12) int *p(char (*a)[]);
// p is a function that accepts an argument which is a pointer to a character array returns a pointer to an integer quantity
(13) int *p(char *a[]);
// p is a function that accepts an argument which is an array of pointers to characters
// returns a pointer to an integer quantity
(14) int (*p)(char (*a)[]);
// p is pointer to a function that accepts an argument which is a pointer to a character array returns an integer quantity
(15) int *(*p)(char (*a)[]);
// p is pointer to a function that accepts an argument which is a pointer to a character array returns a pointer to an integer quantity
(16) int *(*p)(char *a[]);
// p is pointer to a function that accepts an argument which is a array of pointers to characters returns a pointer to an integer quantity
(17) int (*p[10])(void);
// p is 10-element array of pointers to functions; each function returns an integer quantity
(18) int (*p[10])(char a);
// p is 10-element array of pointers to functions; each function accepts an argument which is a character and returns an integer quantity
(19) int *(*p[10])(char a);
// p is 10-element array of pointers to functions; each function accepts an argument which is a character and returns a pointer to an integer quantity
(20) int *(*p[10])(char *a);
// p is 10-element array of pointers to functions; each function accepts an argument which is a pointer to a character and returns a pointer to an integer
Join The Discussion
Comments ( 2 )
Related Questions on Pointer
In C, what is a pointer primarily used for?
A. Decision making
B. Code organization
C. Variable declaration
D. Storing values
In C, how do you declare a pointer variable that can store the address of an integer?
A. int *ptr;
B. ptr int;
C. int ptr;
D. ptr *int;
What is the purpose of the '->' operator in C when used with pointers?
A. Arithmetic operation
B. Indirection operator
C. Member access operator
D. Bitwise operation
These are listed in Page No: 332 of "Theory and Problems of Programming with C" 2nd Edition, by Byron S. Gottfried, Schaum's Outline Series.
please explain?