"मैं फिर से आ गया। मैं कुछ समझाना भूल गया था। अब मैं आपको वेरिएबल्स और मेमोरी एड्रेसिंग के बारे में बताऊंगा। हम बहुत ज्यादा गहराई में नहीं जाएंगे लेकिन बेहतर होगा अगर आप कम-से-कम कुछ याद रख सकें।"

"मुझे पाठों के प्रति आपका दृष्टिकोण पसंद है: अगर आप कुछ समझते हैं — बढ़िया। अगर आप कुछ भी नहीं समझते हैं — कोई बात नहीं।"

"प्यार को मजबूर नहीं किया जा सकता। ज़ाहिर सी बात है। क्या आपके ग्रह पर ऐसा नहीं है?"

"नहीं। हमारा एक अलग दृष्टिकोण है। यदि आप चाहते हैं, तो आप पढ़ाई करते हैं; यदि आप नहीं चाहते हैं, तो भी आप पढ़ाई करते हैं, हालांकि अनिच्छा से।"

"सीखने का कितना पिछड़ा दृष्टिकोण है! इससे बहुत ऊर्जा और समय बर्बाद होता है और इसके परिणाम खराब होते हैं।"

"हम इसे बर्बाद कर देते हैं। खैर, छोड़ो नकारात्मक बातें नहीं करते हैं।"

"ठीक है। Excel के बारे में सोचें। हर कोई Excel के बारे में जानता है। Excel शीट में सेल्स होते हैं। प्रत्येक सेल का अपना खुद का अनोखा आइडेंटिफायर (A1, A2,…B1, B2) होता है। अगर आपको सेल का आइडेंटिफायर पता है तो आप उसमें कोई वैल्यू लिख सकते हैं या इसमें स्टोर वैल्यू प्राप्त कर सकते हैं। कंप्यूटर मेमोरी को भी लगभग समान तरीके से व्यवस्थित किया जाता है।"

image-ru-01-25

"मैं अब तक आपकी सारी बात समझ गया।"

"जब प्रोग्राम चलाया जाता है तब प्रोग्राम और प्रोग्राम का डेटा मेमोरी में स्टोर होता है। कंप्यूटर की सारी मेमोरी छोटे सेल्स या बाइट में विभाजित होती है। प्रत्येक सेल का अपना अनोखा आइडेंटिफायर या नंबर होता है: 0,1,2,3,… (नंबर 0 से शुरू होते हैं)। अगर आपको सेल का नंबर पता है तो आप इसमें डेटा सेव कर सकते हैं। या इससे डेटा प्राप्त कर सकते हैं। कुछ सेल प्रोग्राम का कोड स्टोर करते हैं यानी प्रोसेसर के लिए कुछ कमांड्स। अन्य सेल प्रोग्राम द्वारा स्टोर किए जाने वाला डेटा स्टोर करती हैं। प्रत्येक सेल के नंबर को इसका पता कहा जाता है।"

"प्रोफेसर ने पहले ही मुझे प्रोसेसर और कमांड्स के बारे में बताया था लेकिन विस्तार से नहीं।"

"प्रोसेसर को पता होता है कि मेमोरी में लोड की गई कमांड्स कैसे रन करते हैं। प्रोसेसर की लगभग सभी कमांड्स 'कुछ सेल्स से डेटा लेते हैं, कुछ इसके साथ काम करते हैं, कुछ परिणाम को अन्य सेल्स को भेजते हैं'। हम कुछ जटिल और उपयोगी कमांड्स प्राप्त करने के लिए सैकड़ों सरल कमांड्स का संयोजन करते हैं।"

"लेकिन मुझे इस सब की क्या आवश्यकता है?"

"जब कोड में वेरिएबल बनाया जाता है तब थोड़ी बहुत मेमोरी जो पहले से उपयोग नहीं की जा रही है उसे असाइन कर दी जाती है। यह आमतौर पर कुछ बाइट होती है। एक वेरिएबल बनाने के लिए आवश्यक है कि आप स्पष्ट करें कि प्रोग्राम किस प्रकार की जानकारी को इसमें स्टोर करेगा: नंबर, टेक्स्ट या अन्य डेटा। सुविधा के लिए, प्रत्येक वेरिएबल के लिए एक अनोखा नाम असाइन किया जाता है।"

"क्या इसका मतलब है कि एक वेरिएबल नाम, टाइप, मेमोरी का हिस्सा, और एक वैल्यू भी है?"

"ये सभी चीजें एक में समायी हुई हैं। कुछ उदाहरण देखें:"

कोड व्याख्या
1
String s;
यह लाइन s नाम का वेरिएबल बनाती है। हम इसकी टाइप String देते हैं क्योंकि इसका उपयोग टेक्स्ट स्टोर करने के लिए किया जाएगा।
हम एक ही फंक्शन या क्लास में एक ही नाम का दूसरा वेरिएबल नहीं बना सकते हैं।
2
String s2 = "I'm Diego";
यह लाइन s2 नाम का String वेरिएबल बनाती है और तुरंत इसमें "I'm Diego" वैल्यू असाइन कर देती है।
3
int a;
यहाँ हमने a नाम का एक वेरिएबल बनाया। इसके डेटा टाइप से इसमें स्टोर की जाने वाली वैल्यू का पता चलता है। int डेटा टाइप integer का लघु रूप है।
4
int b = 4;
हमने b नाम के एक वेरिएबल बनाया। इसका डेटा टाइप (int) इन्टिजर स्टोर करने के लिए है। तुरंत इस वेरिएबल में वैल्यू 4 असाइन कर दी गई है।

"यहाँ डिएगो की तरफ से कुछ टास्क दिए गए हैं। उन पर काम करें।"