Friday, April 10, 2009

सीखिए सी – 9 : चर और अचर राशियां

कंप्यूटर विभिन्न प्रकार के आंकड़ों को संचित करता है और उन्हें विभिन्न प्रकार से संसाधित करता है। यह सब करने के लिए कंप्यूटर इन आंकड़ों को अपनी स्मृति (मेमरी) में रखता है। यह स्मृति अनेक कोषों से बनी होती है। प्रत्येक कोष का अपना एक विशिष्ट पता होता है।

आंकड़ों को स्मृति में रखने और वहां से उसे पुनः प्राप्त करने की प्रक्रिया को सुगम बनाने के लिए सभी कंप्यूटर भाषाओं में इन आंकड़ों को नाम द्वारा निर्दिष्ट करने की सुविधा प्रदान की जाती है।

नाम द्वारा निर्दिष्ट ये आंकड़े दो प्रकार के होते हैं, चर राशियां (वेरिएबल्स) और अचर राशियां (कॉन्सटेन्ट्स)।

चर राशियां
चर राशियां उन राशियों को कहते हैं जिनका मान प्रोग्राम के निष्पादन के दौरान बदलता रहता है।

प्रोग्राम में चर राशियों में कोई मान आरोपित करने के लिए = चिह्न का इस्तेमाल होता है। सी की इस उक्ति को देखिए:

x = 10;

इसमें x एक चर राशि है, जिसमें = चिह्न 10 का मान आरोपित करता है।

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

सी की यह आरोपण संबंधी उक्ति बीजगणित के x = 20 निर्देश से कुछ भिन्न होती है। बीजगणित में इस निर्देश का मतलब होता है "x 20 के बराबर है"। लेकिन सी की x=20; वाली उक्ति का मतलब होता है "x को 20 मानकर चलो"। इस अंतर को समझना जरूरी है, क्योंकि प्रोग्राम में चर राशियों का मान बदलता रहता है। उदाहरण के लिए x=15; उक्ति देकर आप कभी भी x का मान 10 से 15 कर सकते हैं।

अचर राशियां
सी में एक अन्य प्रकार की राशियां भी होती हैं, जिन्हें अचर राशियां कहा जाता है। इनका मान प्रोग्राम के शुरू में ही निश्चित कर दिया जाता है और वह बाद में बदल नहीं सकता। अचर राशियों को घोषित करने के लिए define पारिभाषिक शब्द का इस्तेमाल होता है। यह शब्द पूर्वसंकलक से जुड़ा है, न कि संकलक से। इसलिए इसके पहले # चिह्न लगाना भी आवश्यक है। यदि आप adhiktamman नामक एक अचर राशि घोषित करके उसे 100 का मान देना चाहें, तो आप निम्नानुसार निर्देश देंगे:

#define adhiktamman 100

उपर्युक्त उदाहरण में define पूर्वसंकलक का एक पारिभाषिक शब्द है। adhiktamman अचर राशि का नाम है, और 100 उसे दिया गया मान है। इस निर्देश के बाद प्रोग्राम में 100 की जगह आप adhiktamman का उपयोग कर सकते हैं। प्रोग्राम के संकलन के समय पूर्वसंकलक adhiktamman स्थान पर 100 रखता जाएगा।

एक-दो बातें यहां ध्यान देने की हैं।

1. पूर्वसंकलक के निर्देशों के अंत में अर्ध-विराम चिह्न (;) नहीं लगता, जैसा कि सी की उक्तियों में लगता है।
2. अचर राशियों में मान आरोपित करते समय आरोपण चिह्न = का इस्तेमाल नहीं होता। इसलिए

#define adhiktamman = 100

ऐसा लिखना गलत है।

No comments:

Post a Comment