मुझे दो पॉइंटर घोषणाओं के बारे में पता चला है जिन्हें समझने में मुझे परेशानी हो रही है। पूर्ववर्ती नियमों की मेरी समझ कुछ इस प्रकार है:
Operator Precedence Associativity
(), [ ] 1 Left to Right
*, identifier 2 Right to Left
Data type 3
लेकिन यहां तक कि यह दिया गया, मुझे यह पता नहीं लग सकता है कि निम्नलिखित उदाहरणों का सही मूल्यांकन कैसे किया जाए:
पहला उदाहरण
float * (* (*ptr)(int))(double **,char c)
मेरा मूल्यांकन:
*(ptr)
(int)
*(*ptr)(int)
*(*(*ptr)(int))
फिर,
double **
char c
दूसरा उदाहरण
unsigned **( * (*ptr) [5] ) (char const *,int *)
*(ptr)
[5]
*(*ptr)[5]
*(*(*ptr)[5])
**(*(*ptr)[5])
मुझे उन्हें कैसे पढ़ना चाहिए ?