আমি দুটি পয়েন্টার ঘোষণাপত্র পেরিয়ে এসেছি যা বুঝতে আমার সমস্যা হচ্ছে। আমার অগ্রাধিকার সংক্রান্ত নিয়মগুলি সম্পর্কে কিছু বোঝা যায়:
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])
এগুলি আমার কীভাবে পড়া উচিত ?