Operator Precedence And Associativity In C In Hindi [Full Information – हिंदी में]
हेलो फ्रेंड्स आज इस आर्टिकल में हम Operator Precedence And Associativity In C के बारे में बात करने वाले है |
आज हम जानेंगे कि सी लैंग्वेज में Operator Precedence और Associativity क्या है? इसका यूज़ क्यों होता है और किस कंडीशन में होता है?
तो आइये सभी चीजें एक एक करके जानते है | मगर यदि आपने मेरा Operators In C Language वाला आर्टिकल नहीं पढ़ा तो एक बाद जरूर पढ़ लीजियेगा |
क्योंकि Operator Precedence और Associativity क्या है? और इसका उपयोग हम क्यों करते है? ये जानने से पहले आपको ऑपरेटर क्या है और सी लैंग्वेज में ऑपरेटर कितने प्रकार के होते है? ये जानना जरूरी है तभी आपको आगे मैं जो बताने वाला हूँ वो अच्छे से समझ आएगा |
तो ऑपरेटर क्या है और कितने प्रकार के होते है ये जानने के लिए आप यहाँ क्लिक करे 👉 Operators In C
आइये अब हम जानते है कि Operator Precedence क्या है?
Operator Precedence क्या है? ( What is Operator Precedence In C In Hindi )
Operator Precedence, एक से ज्यादा ऑपरेटर होने पर यह निर्धारित करने का एक तरीका है कि कौन सा Operator पहले Execute होगा और कौन सा Operator बाद में Execute होगा |
Operator precedence के द्वारा सभी operators को प्राथमिकता दी जाती है और इस प्राथमिकता के आधार पर expression को execute किया जाता है |
Operator precedence की इन प्राथमिकताओ के बारे में हम आगे बात करेंगे | अभी के लिए हम ये जान लेते है कि Operator Precedence का Concept क्यों और कैसे आया ?
Why this Precedence Concept Come into Picture?
मान लीजिये हमारे पास एक ऐसा स्टेटमेंट है जिसमे हमे addition, multiplication, division, subtraction आदि एक ही स्टेटमेंट में करना है और यदि हमारे पास operator precedence का Concept नहीं है तो हम उसे या तो Left to Right और Right to Left आर्डर में सोल्वे करने का प्रयास करेंगे, जो की सही तरीका नहीं होगा क्योंकि कई बार रिजल्ट गलत आ सकता है, ऐसे में डेवेलपर्स ने operator precedence का कॉन्सेप्ट introduce किया |
आइए नीचे दिए गए उदाहरण से हम Operator Precedence को अच्छे समझते हैं :
int value = 10+20*10;
अगर operator precedence का कांसेप्ट नहीं होता और इसे हम left to right और right to left सॉल्व करने का प्रयास करते तो रिजल्ट कुछ ऐसा आता -:
Calculate Left to Right then output : 300 .
Calculate Right to Left then output : 210 .
यही कैलकुलेशन जब हम Operator Precedence से करते है तो ,
20*10 = 200
10+200 = 210
चुकी सी लैंग्वेज में मल्टिप्लिकेशन ( * ) ऑपरेटर की Precedence, “ + ” ऑपरेटर से ज्यादा होता है इसलिए सबसे पहले मल्टिप्लिकेशन ( * ) वाला ऑपरेटर चलेगा फिर + ऑपरेटर चलेगा जिससे रिजल्ट में 210 आएगा |
तो दोस्तों, यहाँ तक आपको समझ आ गया होगा किन हम Operator Precedence क्या है? (What is Operator Precedence In C In Hindi) और Operator Precedence का उपयोग क्यों करते है आइए अब हम Associativity के बारे में जान लेते है |
Associativity क्या है? (What is Associativity In C In Hindi)
जब किसी Expression में दो या दो से ज्यादा ऑपरेटर हो और उनकी Precedence भी एक जैसी हो तब उस कंडीशन में हम Associativity का उपयोग ये पता लगाने के लिए करते है कि कौन सा ऑपरेटर पहले Execute होगा और कौन सा ऑपरेटर बाद में Execute होगा |
For example – 10*2/5 , इस Example में मल्टिप्लिकेशन (* ) और डिवीज़न (/ ) दोनों ऑपरेटर की Precedence बराबर है ऐसे में हमे किस ऑपरेटर को पहले चलाना चाहिए जिससे की रिजल्ट सही आये ? पहले मल्टिप्लिकेशन (* ) वाला ऑपरेटर चलना सही रहेगा या डिवीज़न (/ ) वाला ऑपरेटर चलना सही होगा ?
ये सब जानने के लिए हमे उन ऑपरेटर्स की Associativity भी चेक करना पड़ता है | इन ऑपरेटर्स की Associativity को देख कर जब हम Expression को सोल्व करते है तो रिजल्ट सही आता है | सी लैंग्वेज में ऑपरेटर की Associativity, ऐसे कंडीशन में काफी महत्वपूर्ण भूमिका निभाती है |
इस Expression (10*2/5) में मल्टिप्लिकेशन ( * ) और डिवीज़न ( / ) ऑपरेटर की Associativity, Left to Right है इसलिए हम सबसे पहले 10*2 को Execute करेंगे उसके बाद इनसे जो रिजल्ट आएगा उसको 5 से Divide करेंगे |
आइये इसको हम एक प्रोग्राम से समझते है
#include <stdio.h>
int main()
{
int x,y;
x = 10*20+110/5 ;
printf("The Value of x = %d",x);
return 0;
}
इस Example (10*20+110/5) को देखे इसमें मल्टिप्लिकेशन ( * ) और डिवीज़न ( / ) ऑपरेटर की Precedence, “ + ” ऑपरेटर से ज्यादा है तो इससे ये तो क्लियर है कि + ऑपरेटर, * और / ऑपरेटर के बाद last में चलेगा |
मगर इस Expression में सबसे पहले मल्टिप्लिकेशन ( * ) ऑपरेटर को चलाये या डिवीज़न ( / ) ऑपरेटर को चलाये? ये जानने के लिए हमे इन ऑपरेटर्स की Associativity को देखना पढता है |
चुकी मल्टिप्लिकेशन ( * ) और डिवीज़न ( / ) ऑपरेटर की Associativity, Left To Right है इसलिए पहले * ऑपरेटर (10*20) चलेगा जिसका रिजल्ट 200 आएगा उसके बाद “ / ” ऑपरेटर (110/5) चलेगा जिसका रिजल्ट 22 आएगा और फिर लास्ट में “ + ” ऑपरेटर चलेगा जिससे टोटल रिजल्ट 222 आएगा |
अगर आपको इसका लाइव डेमो देखना चाहते है तो निचे लाइव डेमो के बटन पर क्लिक करके इस प्रोग्राम को चलाये और इसका लाइव डेमो देख ले |
इस प्रोग्राम का आउटपुट ऐसा आएगा -:
Output -:
The Value of x = 222
निचे मैं आपको सभी ऑपरेटर की Precedence और Associativity का लिस्ट दे रहा हूँ इस लिस्ट में जिन ऑपरेटर का Precedence सबसे ज्यादा है उनको सबसे ऊपर रखा है और जिनकी Precedence कम है वो ऑपरेटर सबसे निचे है | इस लिस्ट में उन ऑपरेटर की Associativity को भी बताया है |
Operator Precedence and Associativity Table in C Programming
Category | Operator | Associativity |
Postfix | () [] -> . ++ – – | Left to right |
Unary | + – ! ~ ++ – – (type)* & sizeof | Right to left |
Multiplicative | * / % | Left to right |
Additive | + – | Left to right |
Shift | << >> | Left to right |
Relational | < <= > >= | Left to right |
Equality | == != | Left to right |
Bitwise AND | & | Left to right |
Bitwise XOR | ^ | Left to right |
Bitwise OR | | | Left to right |
Logical AND | && | Left to right |
Logical OR | || | Left to right |
Conditional | ?: | Right to left |
Assignment | = += -= *= /= %=>>= <<= &= ^= |= | Right to left |
Comma | , | Left to right |
इन्हे भी पढ़े -:
- What is Operators & Types of Operators in C
- Arithmetic Operators In C
- Relational Operators In C
- Logical Operators In C
- Bitwise Operators In C
- Assignment Operators In C
- Conditional Operator in C
Conclusion
दोस्तों आशा करता हु कि आज के इस पोस्ट को पढ़ने के बाद आपको सी लैंग्वेज में Operator Precedence और Associativity क्या है? (What is Operator Precedence And Associativity in C In Hindi), से संबंधित सभी जानकारी मिल गई होगी |
अगर आप सी लैंग्वेज के हिंदी नोट्स चाहते है तो मेरे इस पोस्ट C Language Notes In Hindi को देखे यहाँ आपको C Programming Language के सभी टॉपिक्स step by step मिल जाएगी |
दोस्तों आशा करता हु कि आपको ये पोस्ट पसंद आई होगी और आपको Operator Precedence And Associativity In C के बारे में काफी जानकरी हुई होगी |
अगर आपको ये पोस्ट पसंद आया है तो इस पोस्ट को अपने अपने दोस्तों को शेयर करना न भूलिएगा ताकि उनको भी ये जानकारी प्राप्त हो सके |
अगर आपको अभी भी Operator Precedence And Associativity In C Language से संबंधित कोई भी प्रश्न या Doubt है तो आप नीचे कमेंट में जरूर बताये मैं आपके सभी सवालों का जवाब दूँगा और ज्यादा जानकारी के लिए आप हमसे संपर्क कर सकते है |
Thank you आपका दिन मंगलमय हो |
पढ़ते रहिए और बढ़ते रहिए | Keep Reading and Keep Growing
It’s really helpful….. thanks
Sir kya ishe ham notes me likh sakte hai ? it’s very help full theory and program…
yes, ese aap notes ke rup me upyog kar sakte hai
Thank for sharing. It’s really very helpful.