C Programming - Complicated Declarations - Discussion
Discussion Forum : Complicated Declarations - General Questions (Q.No. 12)
12.
What do the following declaration signify?
int (*ptr)[30];
Discussion:
14 comments Page 1 of 2.
Ritesh anand said:
1 decade ago
Friends its a very simple one. int (*ptr) is nothing but a ptr which points to some single integer value.
Now int (*ptr)[30] is something interesting here u are declaring not one pointer to point some integer value.
Here you are declaring 30 pointers to point some integer values and these 30 pointers are stored in array and that's why int (*ptr)[30] is an array of 30 integer pointers.
Now int (*ptr)[30] is something interesting here u are declaring not one pointer to point some integer value.
Here you are declaring 30 pointers to point some integer values and these 30 pointers are stored in array and that's why int (*ptr)[30] is an array of 30 integer pointers.
Bishop said:
9 years ago
int *ptr[30]; //an array of 30 pointers (equivalent: int* ptr[30];).
int (*ptr)[30]; //a pointer to an array of 30 elements (int).
int *(*ptr)[30]; //a pointer to an array of 30 pointers (equivalent: int* (*ptr)[30];).
int (*ptr)[30]; //a pointer to an array of 30 elements (int).
int *(*ptr)[30]; //a pointer to an array of 30 pointers (equivalent: int* (*ptr)[30];).
Satyakala said:
1 decade ago
Here (*ptr)[30] means it is an pointer to array of 30 integers not 30 integer pointers because it is not array of pointers.
Arjun Prasad said:
1 decade ago
In answer A:- it should be 30 "integers" instead of "integer pointers", then A correct.
Harish jangra said:
2 decades ago
i think 'c' is the correct answer to this problem.
can anyone explain me how 'a' is the correct answer?
can anyone explain me how 'a' is the correct answer?
Anil said:
1 decade ago
int (*ptr)[30]=pointer to array of 30 integers;
int *ptr[30]=ptr is an array of 30 integer pointer
int *ptr[30]=ptr is an array of 30 integer pointer
Ferozee said:
1 decade ago
Pointer Array Concept i.e., *p[30] is pointer Array,means *p points to 30 integers of an Array.
Shireesh said:
1 decade ago
In answer A take 30 integers instead of integer pointers, then Ans is A.
Ram mohan said:
2 decades ago
*ptr[30] is a array of 30 pointers but
here mentioned that (*ptr)[30]
here mentioned that (*ptr)[30]
Vikas Sharma said:
1 decade ago
It should be "pointer to an array of 30 integers"
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers