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