Advance-C/C2/Storage-class-specifiers/Hindi
From Script | Spoken-Tutorial
Revision as of 17:49, 28 February 2017 by Pratik kamble (Talk | contribs)
Time | Narration |
00:01 | 'Storage class specifiers' पर स्पोकन ट्यूटोरियल में आपका स्वागत है। |
00:07 | इस ट्यूटोरियल में हम कुछ उदाहरणों की मदद से निम्न के बारे में सीखेंगे
'Storage class specifiers' 'auto keyword' 'static keyword' 'extern keyword' 'register keyword' |
00:22 | इस ट्यूटोरियल के लिए मैं उपयोग कर रही हूँ 'उबन्टु ऑपरेटिंग सिस्टम वर्शन 11.10' और 'उबन्टु पर gcc कम्पाइलर वर्शन 4.6.1' |
00:34 | इस ट्यूटोरियल के अनुसरण के लिए आपको C ट्यूटोरियल्स के साथ परिचित होना चाहिए। |
00:41 | यदि नहीं तो सम्बंधित ट्यूटोरियल्स के लिए कृपया हमारी दर्शायी वेबसाइट पर जाएँ। |
00:47 | मैं 'storage class specifiers' के परिचय के साथ शुरू करुँगी। |
00:52 | * 'Specifiers' कम्पाइलर को बताते है कि 'वेरिएबल' को कहाँ संचित करना है। |
00:57 | 'वेरिएबल' को कैसे सेव करते हैं। |
00:59 | 'वेरिएबल' की शुरूआती वैल्यू क्या होती है। |
01:03 | 'वेरिएबल' का लाइफ टाइम |
01:06 | सिंटेक्स है: 'storage_specifier data_type variable _name' |
01:13 | स्टोरेज टाइप स्पेसिफायर के निम्न प्रकार होते हैं:
'auto' 'static' 'extern' 'register' |
01:21 | अब 'ऑटो कीवर्ड' के साथ शुरू करते हैं। |
01:24 | 'ऑटो कीवर्ड' 'ऑटोमैटिक वेरिएबल' घोषित करता है। |
01:28 | यह लोकल स्कोप रखता है। |
01:30 | 'कीवर्ड्स' स्वतः इनिशिअलाइज़्ड नहीं होते हैं। |
01:34 | आपको घोषणा के दौरान 'कीवर्ड्स' को स्पष्टता से इनिशिअलाइज़ करना चाहिए। |
01:39 | 'कीवर्ड्स' का स्टोरेज स्पेस 'CPU मेमरी' होता है। |
01:43 | अब एक उदाहरण देखते हैं। मेरे पास एक कोड फाइल है; अब इसे देखते हैं। |
01:49 | ध्यान दें हमारी फाइल का नाम 'auto.c' है। |
01:54 | हमने increment की तरह एक फंक्शन घोषित कर लिया है। |
01:58 | यह 'मेन फंक्शन' है। |
02:00 | 'मेन फंक्शन' में, increment फंक्शन' चार बार कॉल होता है। |
02:06 | फिर हमारे पास return 0 statment है। |
02:10 | अब 'फंक्शन की परिभाषा' देखते हैं। |
02:14 | यहाँ हमने वेरिएबल i को 'auto int' की तरह घोषित किया है। यह लोकल स्कोप रखता है। |
02:21 | फिर हम printf प्रयोग करके 'i' की वैल्यू दर्शाते हैं। |
02:26 | यहाँ i की वैल्यू बड़ाई जाती है। |
02:30 | अब अपने कीबोर्ड पर एकसाथ Ctrl+Alt+T कीज़ दबाकर टर्मिनल खोलें। |
02:38 | टाइप करें: gcc space auto.c space hyphen o space auto. एंटर दबाएं। |
02:48 | टाइप करें: 'डॉट स्लैश auto' |
02:51 | आउटपुट ज़ीरो है। |
02:54 | अब अपने प्रोग्राम पर वापस आते हैं। |
02:57 | अब 'मेन फंक्शन' के ऊपर 'auto variable i' को 'इनिशिअलाइज़' करते हैं। |
03:02 | मैं इस घोषणा और 'इनिशिअलाइज़ेशन' को यहाँ से कट करुँगी और यहाँ पर पेस्ट करुँगी।
'Save' पर क्लिक करुँगी। |
03:14 | अब 'टर्मिनल' पर निष्पादन करते हैं। अप एरो की दो बार दबाएं। एंटर बदबाएँ। |
03:22 | हमें एक एरर मिलती है: file-scope declaration of i specifies auto |
03:29 | ऐसा इसलिए है क्योंकि एक 'ऑटो वेरिएबल' 'फंक्शन' के लिए 'लोकल' है। |
03:34 | हम इसको ग्लोबली 'इनिशिअलाइज़' नहीं कर सकते। |
03:37 | अब एरर को फिक्स करते हैं। अपने प्रोग्राम पर वापस आते हैं। |
03:42 | इसे मिटायें; इसे यहाँ पेस्ट करें। |
03:47 | 'Save' पर क्लिक करें और 'टर्मिनल' पर निष्पादन करें। |
03:52 | अप एरो की दबाएं। पिछली कमांड को दोबारा कॉल करें। |
03:57 | एंटर दबाएं। टाइप करें: 'डॉट स्लैश auto' एंटर दबाएं। |
04:03 | यह काम कर रहा है ! आउटपुट ज़ीरो है। |
04:07 | ऐसा इसलिए है क्योंकि हमने 'i' की वैल्यू 0 से 'इनिशिअलाइज़' की है। |
04:13 | अब 'static variable' देखते हैं। |
04:16 | यद्यपि हम पिछले ट्यूटोरियल में 'static variable' के बारे में पढ़ चुके हैं। मैं यहाँ इसे संक्षेप में समझाउंगी। |
04:24 | 'static' वेरिएबल्स 'ज़ीरो' से 'इनिशिअलाइज़' होते हैं। |
04:28 | 'ब्लॉक' से प्रोग्राम कंट्रोल एग्ज़िट होने के बाद भी ये नष्ट नहीं होते हैं। |
04:35 | 'वेरिएबल' की वैल्यू भिन्न 'फंक्शन कॉल्स' के बीच क़ायम रहती है। |
04:41 | स्टोरेज स्पेस 'CPU मेमरी' है। |
04:45 | अब एक उदाहरण देखते हैं। मैं वो समान कोड फाइल एडिट करुँगी। |
04:51 | अपने प्रोग्राम पर वापस आते हैं। |
04:54 | एक साथ 'Ctrl + Shft + S' कीज़ दबाएं। |
05:01 | अब मैं फाइल का नाम 'static' करुँगी। 'Save' पर क्लिक करुँगी। |
05:10 | अब, मैं 'variable i' के 'इनिशिअलाइज़ेशन' को बदलकर 'static int i equals to zero' करुँगी।
'Save' पर क्लिक करुँगी। |
05:23 | अब देखते हैं कि क्या होता है। 'टर्मिनल' पर फाइल को निष्पादित करते हैं। |
05:30 | टाइप करें: 'gcc space static.c space hyphen o space stat'. एंटर दबाएं। |
05:41 | टाइप करें 'डॉट स्लैश stat'. एंटर दबाएं। |
05:46 | आउटपुट निम्न की तरह दिखता है: 0, 1, 2, 3 |
05:51 | ऐसा इसलिए है क्योंकि 'static variables' 'global variables' हैं। |
05:56 | 'static variable' का स्कोप 'फंक्शन' के लिए 'लोकल' है जिसमें वो परिभाषित है। |
06:03 | ये 'फंक्शन कॉल्स' के बीच अपनी वैल्यू को नहीं खोते हैं। |
06:08 | अब 'extern keyword' के बारे में सीखते हैं। |
06:12 | 'extern variable' का स्कोप पूरे मेन प्रोग्राम में है। |
06:17 | 'extern variable' की परिभाषा 'C' प्रोग्राम में कहीं भी हो सकती है। |
06:23 | डिफ़ॉल्ट रूप से, 'extern variables' ज़ीरो से इनिशिअलाइज़ होते हैं। |
06:28 | ये प्रोग्राम में सारे 'फंक्शन्स' से एक्सेस किये जा सकते हैं। |
06:33 | ये 'CPU memory' में संचित होते हैं। |
06:36 | अब एक उदाहरण देखते हैं। |
06:38 | मेरे पास एक कोड फाइल है; अब इसे देखते हैं। |
06:42 | ध्यान दें हमारी फाइल का नाम 'extern.c' है। |
06:47 | मैंने 'इंटीजर वेरिएबल x' नामक एक वेरिएबल को '10' से 'इनिशिअलाइज़ किया है। |
06:54 | यह 'मेन फंक्शन' है। 'मेन फंक्शन' में मैंने एक 'extern integer variable y' घोषित किया है। |
07:03 | 'printf' स्टेटमेंट प्रयोग करके हम 'x' और 'y' की वैल्यूज़ प्रदर्शित करेंगे।
यह 'return' स्टेटमेंट है। |
07:12 | 'मेन फंक्शन' के बंद होने के बाद हम 'y' को '50' से इनिशिअलाइज़ करेंगे। |
07:18 | अब 'टर्मिनल' खोलते हैं और देखते हैं कि आउटपुट क्या होगा। |
07:24 | टाइप करे: 'gcc space extern.c space hyphen o space ext'. एंटर दबाएं। |
07:35 | टाइप करें: 'डॉट स्लैश ext'. एंटर दबाएं। |
07:40 | आउटपुट निम्न की तरह दिखेगा:
'The value of x is 10 ' 'The value of y is 50' |
07:48 | जैसे कि हमने पढ़ा है 'extern keyword' की वैल्यू मेन प्रोग्राम में शुरू से अंत तक होती है। |
07:55 | इस प्रोग्राम में कहीं भी इसे परिभाषित कर सकते हैं। |
07:59 | दोनों स्टेटमेंट्स सत्यापित होते हैं। |
08:02 | अब 'register keyword' पर जाते हैं। |
08:06 | 'Register वेरिएबल्स' नार्मल वेरिएबल्स से ज़्यादा तेज़ी से एक्सेस किये जायेंगे। |
08:13 | ये 'main memory' के बजाए 'register memory' में संचित होते हैं। |
08:19 | वेरिएबल्स की सीमित संख्या उपयोग की जा सकती है चूँकि रजिस्टर साइज़ बहुत छोटा होता है। |
08:25 | 16 bits, 32 bits या 64 bits. |
08:30 | अब एक उदाहरण देखते हैं। मेरे पास एक कोड फाइल है। अब इसे देखते हैं। |
08:37 | ध्यान दें फाइल का नाम 'register.c' है। |
08:42 | यहाँ हमने 'register integer variable' घोषित किया है। |
08:47 | यह वेरिएबल सीधे 'रजिस्टर मेमरी' में संचित होगा। |
08:53 | यह 'for loop' है जो '1' से '5' तक 'i' की वैल्यू दिखाता है। |
08:59 | यह 'i' की वैल्यू दिखायेगा। |
09:03 | अब प्रोग्राम को निष्पादित करते हैं और देखते हैं। |
09:07 | 'टर्मिनल' पर, टाइप करें: 'gcc space register.c space hyphen o space register' |
09:17 | एंटर दबाएं। टाइप करें: 'डॉट स्लैश register' एंटर दबाएं। |
09:25 | आप निम्न की तरह प्रदर्शित आउटपुट देख सकते हैं: 'Values stored in register memory 1 2 3 4 5' |
09:34 | यह हमें इस ट्यूटोरियल के अंत में लाता है। इसे सारांशित करते हैं। |
09:39 | इस ट्यूटोरियल में हमने सीखा:
'Storage class specifiers' 'auto keyword' 'static keyword' 'extern keyword' 'register keyword' |
09:52 | एक नियत कार्य में, पहले पाँच नंबर्स के जोड़ को प्रिंट करने के लिए एक प्रोग्राम लिखें। |
09:59 | प्रोग्राम में 'auto' और 'static' दोनों कीवर्ड्स को घोषित करें। |
10:04 | नीचे दिए लिंक पर उपलब्ध वीडिओ देखें। |
10:07 | यह स्पोकन ट्यूटोरियल प्रोजेक्ट को सारांशित करता है। |
10:11 | अच्छी बैंडविड्थ न मिलने पर आप इसे डाउनलोड करके देख सकते हैं। |
10:16 | स्पोकन ट्यूटोरियल प्रोजेक्ट टीम स्पोकन ट्यूटोरियल्स का उपयोग करके कार्यशालाएं चलाती है। |
10:22 | ऑनलाइन टेस्ट पास करने वालों को प्रमाणपत्र देते हैं। अधिक जानकारी के लिए कृपया contact@spoken-tutorial.org पर लिखें। |
10:33 | स्पोकन ट्यूटोरियल प्रोजेक्ट टॉक टू अ टीचर प्रोजेक्ट का हिस्सा है। |
10:38 | यह भारत सरकार के एम एच आर डी के आई सी टी के माध्यम से राष्ट्रीय साक्षरता मिशन द्वारा समर्थित है। |
10:45 | इस मिशन पर अधिक जानकरी http://spoken-tutorial.org\NMEICT-Intro पर उपलब्ध है। |
10:52 | आय आय टी बॉम्बे से मैं श्रुति आर्य आपसे विदा लेती हूँ। हमसे जुड़ने के लिए धन्यवाद। |