आपरेटर प्रेसिडेंस एवं एसोसिएटीविटी।(operator precedence & associativity.)

आपरेटर प्रेसिडेंस एवं एसोसिएटीविटी।(operator precedence & associativity.)


''C'' program में किसी Expretion को execute ( run ) करते समय उसमें उपयोग होने वाले Operators की Priority या ( Precedence ) तथा उनकी Associativity का ध्यान रखना होता है।
जब operetors अलग-अलग हो तब Execution का Direction ( दिशा ) का निर्धारण आवश्यक होता है तथा जब ये Operators एक ही प्रकार के हों तब पहले कौन से operator का मूल्यांकन होगा , इस बात की जानकारी आवश्यक है। इन्हें क्रमशः Operator Associativity एवं Operator Precedence कहते हैं।
Operator Associativity दो प्रकार के होते हैं-
L --> R      Left to Right
R --> L      Right to Left


जैसे - सभी Unary Operator की associativity Right to Left होती है। जबकि Basic Arithmatic Operators की Associativity Left to Right होती है।
1. Brakets ( ) , [ ] , ( L ---> R )
2. Unary Operators  ++, - - , ! , Size of ( ) , ~ , ( R--->L )
3. Member Access  * , --> ,  ( L ---> R )
4. Arithmetic Operators  * , / , % , +, -  , ( L---> R )
5. Shift Operator  << , >> , ( L--->R )
6. Relational   < , < = , > , >=  ( L--->R )
7. Equality Operator  == , ! =  ( L--->R )
8. Bitwise AND  & ( L-->R )
9. Bitwise X OR    ^   ( L--->R )
10. Bitwise OR     ( L--->R )
11. Logical AND  &&   ( L--->R )
12. Logical OR     ( L--->R )
13. Conditional Operator  ? :   ( R-->L )
14. Assignment Operator  =, + = , - = , / = , %= , &= , : = , <<= , >>=   ( R--->L )
15. Comma Operator   ,   ( L--->R )     

No comments: