Pages

Sunday, 24 July 2016

Special Operator in C



स्पेशल आपरेटर 

स्पेशल आपरेटर सी मे वह आपरेटर हैं जो आम आपरेटर नहीं हैं और इनके उपयोग का एक निश्चित आवश्यकता होती हैं। स्पेशल आपरेटर वेरिएबल के लोकेशन और आकार के बारे मे जानकारी संग्रहीत करता हैं इस लिए इसे स्पेशल आपरेटर कहते हैं। जो की निम्न प्रकार से सूची-बद्ध किए गए हैं।

 S.no
Operators
Description
1
&
This is used to get the address of the variable.
Example : &a will give address of a.
2
*
This is used as pointer to a variable.
Example : * a  where, * is pointer to the variable a.
3
Sizeof ()
This gives the size of the variable.
Example : size of (char) will give us 1.

एड्रेस आपरेटर (&) :
                  किसी वेरिएबल के एड्रेस को जानने के लिए & आपरेटर का इस्तेमाल किया जाता हैं, यह एक यूनरी आपरेटर हैं, आप इसे बिटवाइज and आपरेटर न समझे क्योंकि बिटवाइज़ & आपरेटर बाइनरी आपरेटर हैं यानि वह दो ओपरेंड के साथ इस्तेमाल होता हैं, जबकि एड्रेस आपरेटर उनरी आपरेटर के साथ यानि एक ओपरेंड के साथ इस्तेमाल होता हैं। जैसे b = & a यहा पर a का मेमोरी एड्रेस b नाम के पाइंटर वेरिएबल मे स्टोर किया जा रहा हैं।

पाइंटर आपरेटर (*)
            यह आपरेटर किसी एड्रेस के आधार पर वेरिएबल को पॉइंट करने के लिए उपयोग मे आता हैं। इसको समझने के लिए एक उदाहरण देखे---
माना दो वेरिएबल हैं *p, a अब
a = 23
p = & a
print *p

ऊपर दिये उदाहरण मे आमने दो वेरिएबल उपयोग किया हैं एक वेरिएबल के सामने * (पॉइंटर) लगा हुआ हैं जो यह बता रहा हैं की या वेरिएबल वैल्यू के रूप मे केवल दूसरे वेरिएबल के पते को स्टोर करेगा, a =23 का मतलब हैं की हमने a मे 23 वैल्यू स्टोर कर दी हैं। फिर अगली लाइन हैं p = &a जिसका मतलब हैं की हमने a के फिजिकल एड्रेस को p मे स्टोर कर दिया हैं। अब print *p लिखा हुआ हैं जिसका मतलब हैं की p मे जो भी वैल्यू हैं वह a का एड्रेस हैं और इसलिए आउटपुट 23 प्रिंट होगा। क्योंकि p वेरिएबल a को पॉइंट कर रहा था। इसलिए इसे पॉइंटर वेरिएबल कहते हैं।

Sizeof() आपरेटर :

            Sizeof() आपरेटर किसी वेरिएबल की डाटा को स्टोर करने की क्षमता को बताता हैं, क्षमता या आकार को बताने के लिए यह बाइट इकाई का उपयोग करता हैं। जैसे माना हमारे पास एक वेरिएबल हैं जिसका डाटा टाइप इंटीजर हैं, वेरिएबल का नाम a रखा गया हैं। अब आप जानना चाहते हैं की a डाटा को स्टोर करने के लिए कितनी मेमोरी को घेरेगा। त आप sizeof() का उपयोग कर सकते हैं, जैसे sizeof(a) जिसमे इसका परिणाम 2, अगर आपका कम्प्युटर 16 बिट का हुआ, और अगर आपका कम्प्युटर 32 बिट का हैं तो 4 प्रिंट होगा।

Asignment Operator in C



असाइनमेंट आपरेटर :

असाइनमेंट आपरेटर का उपयोग वैल्यू को दाए भाग से बाए मे मौजूद वेरिएबल मे स्टोर करना होता हैं। सी भाषा मे असाइनमेंट के कई प्रकार हैं पर मुख्य रूप से असाइनमेंट आपरेटर = चिन्ह को कहा जाता हैं। असाइनमेंट आपरेटर मे दो वैल्यू होते हैं एक R-value और दूसरा L-value, असाइनमेंट आपरेटर R-value की वैल्यू को कॉपी करता हैं L-वैल्यू मे जैसा की नीचे दिखाया गया हैं।


असाइनमेंट आपरेटर एक बाइनरी आपरेटर हैं, यानि यह दो ओपरेंड के साथ कार्य करता हैं।  असाइनमेंट आपरेटर का precedence (मूल्य/ वरीयता) अन्य आपरेटर से लो हैं, जिसके कारण दूसरे आपरेटर इससे पहले क्रियान्वित होंगे। किन्तु असाइनमेंट आपरेटर का precedence ‘, से ज्यादा हैं। निचे हम अन्य असाइनमेंट आपरेटर के बारे मे जानते हैं।

Operator symbol
Name of the operator
Example
Equivalent construct
+=
Addition assignment
x += 4;
x = x + 4;
-=
Subtraction assignment
x -= 4;
x = x – 4;
*=
Multiplication assignment
x *= 4;
x = x * 4;
/=
Division assignment
x /= 4;
x = x / 4;
%=
Remainder assignment
x %= 4;
x = x % 4;
=
Simple Assignment
x = 4
x = 4

Additional Assinment :

एडिशनल असाइनमेंट, एक कॉम्बो असाइनमेंट हैं, कॉम्बो असाइनमेंट दो असाइनमेंट के मिले हुये स्वरूप को कहते हैं। इस आपरेटर मे प्लस आपरेटर और सिंपल असाइनमेंट को मिला कर बनाया गया हैं जिसे चिन्ह “+=” से दर्शाया जाता हैं। जैसे अगर लिखा गया हैं c + = 3 इसका मतलब होगा की c = c + 3;


Subtract Assignment :

Subtract assignment भी एक कॉम्बो आपरेटर हैं जिसे माइनस आपरेटर और सिंपल असाइनमेंट से मिला कर बनाया गया हैं। जिसे “-=” चिन्ह से दर्शाया जाता हैं। 


Multiplication assignment :

मल्टीप्लीकेशन असाइनमेंट आपरेटर एस्टरीक(*) और सिंपल असाइनमेंट(=) से मिला कर बनाया गया हैं, यह किसी संख्या को एक वेरिएबल के साथ गुना कर उसी वेरिएबल मे असाइन कर देता हैं। जैसे
a * = 4  à    a = a * 4
यहाँ पर आप देख सकते हैं मल्टीप्लीकेशन असाइनमेंट मे दो ओपरेंड हैं। a मे 4 को गुना कर जो परिणाम आए उसे आ मे ही स्टोर करना हैं तब मल्टीप्लीकेशन असाइनमेंट का उपयो करेंगे।

डिवीजन असाइनमेंट और रिमाइन्डर असाइनमेंट  :

डिवीज़नल असाइनमेंट और रिमाइन्डर असाइनमेंट दोनों ही बाइनरी आपरेटर हैं। डिवीजन आपरेटर को /= चिन्ह से दर्शाते हैं, जैसे mark = mark / 5 इस तरह के expression को डिवीजन असाइनमेंट का उपयोग कर आप चाहे तो mark / = 5 भी लिख सकते हैं। इसमे mark वेरिएबल मे जो भी वैल्यू होगी वह 5 से विभाजित हो कर मार्क मे वापस असाइन कर देगा।

रिमाइन्डर असाइनमेंट किसी वैल्यू को विभाजित करने के बाद बचे हुये शेषफल को परिणाम के रूप मे प्रदर्शित करता हैं। जैसे आप a जिसकी वैल्यू 5 हैं  को 2 से विभाजित करना चाहते हैं और शेषफल जो भी आए उसे वापस a मे स्टोर करना चाहते हैं तो उसके लिए आपको रिमाइन्डर असाइनमेंट उपयोग करना चाहिए। उदाहरण a % = 2 जो की a = a % 2 की तरह कार्य करेगा।

सिम्पल असाइनमेंट   

सिम्पल असाइनमेंट को = (इक्वल) चिन्ह से दर्शाते इसमे सिर्फ एक सिंबल का उपतोग करते हैं जो की इक्वल (=) साइन हैं। इसमे कोई भी अरिथमेटिक आपरेटर नहीं होता हैं। यह आपरेटर का उपयोग दाई भाग मे लिखे constant वैल्यू या expression वैल्यू को बाए भाग मे लिखे वेरिएबल मे स्टोर करता हैं जैसे a = 4 लिखा हुआ हैं यहा a एक वेरिएबल हैं और 4 एक constant हैं, यहाँ पर सिम्पल असाइनमेंट 4 को a स्टोर कर रहा हैं। इसके अलावा एक उदाहरण ये भी हैं जहां पर = असाइनमेंट के दाए भाग मे expression लिखा हुआ हैं। a = 2 + 100 / 2 यहा पर = असाइनमेंट के ड़ाए भाग मे एक्स्प्रेशन दिया हुआ हैं 2 + 100 / 2, सी प्रोग्राम मे division की precedence ज्यादा होती हैं इसलिए 100 / 2 पहले क्रियान्वित होगा इसमे बाद 2 + 50 क्रियान्वित होगा जिसके बाद फाइनल वैल्यू ड़ाए भाग मे मिलेगी a = 52, अब 52 a वेरिएबल मे स्टोर हो जाएगा।

Popular Posts