Transcript for:

हाय एवरीवन मैं हूं आपका दोस्त प्रशांत और मुझे और इस बात की गारंटी देता हूं कि जो भी यह कोर्स पूरा कंप्लीट करेगा वह सी का एक बहुत अच्छा कोडर या प्रोग्रामर बन जाएगा और आपके कॉलेज के सेमेस्टर्स में जो सी प्रोग्रामिंग का कोर्स होता है उसकी तो पूरी तैयारी इस कोर्स में हो ही जाने वाली है दोस्तों इस कोर्स का सिलेबस मैंने बहुत सारी स्टैंडर्ड बुक्स और यूनिवर्सिटी एग्जाम्स के सिलेबस को देखकर 13 चैप्टर्स में डिवाइड किया है जिनके लिंक आपको डिस्क्रिप्शन में मिल जाएंगे तो अगर कोई ऐसा स्पेसिफिक टॉपिक है जो आप पढ़ना चाहते हैं तो आप डायरेक्टली टाइमलाइन पर क्लिक करके उस टॉपिक पर जा सकते हैं और इस कोर्स में प्रैक्टिस के लिए हम कर रहे होंगे 100 से भी ज्यादा प्रोग्रामिंग चैलेंजेबल दोनों ही बन जाएंगे सब लोगों से अलग और साथ में एकदम बेस्ट रिवीजन के लिए सी के प्रो लेवल के नोट्स दूसरा हमने जो भी पूरा कोड लिखा है उस पूरे कोड का गिट हब लिंक और तीसरा फ्री कंप्लीशन सर्टिफिकेट का लिंक आपको डिस्क्रिप्शन में मिल जाएगा अगर आपका कोई भी फीडबैक हो या मुझसे कोई भी डिमांड हो तो नीचे हक से कमेंट करके जरूर बताइएगा और अगर यह वीडियो अच्छा लगे तो दिस वीडियो इज हेल्पफुल लिखकर कमेंट जरूर करना तो दोस्तों कोर्स स्टार्ट करने से पहले जोर से लाइक बटन दबाइए केजी कोडिंग चैनल को सब्सक्राइब करिए और साथ में बेल आइकन का घंटा जोर से बजा दीजिए अगर इस वीडियो के कमेंट्स 5000 से ज्यादा हो गए तो नेक्स्ट कोर्स में लेकर आऊंगा कंप्लीट पाइथन प्रोग्रामिंग के ऊपर तो चलिए जल्दी से शुरू करते हैं तो दोस्तों चलिए हम सबसे पहले स्टार्ट करते हैं कहां से इंस्टॉलेशन एंड कंपाइलर सेटअप इसका मतलब क्या है देखिए सी जो है बहुत सारे लोगों की या मैं कहूंगा मैक्सिमम लोगों की क्या होती है पहली प्रोग्रामिंग लैंग्वेज होती है यानी मैं मान कर चल रहा हूं कि आप में से मोस्टली लोग क्या कर रहे हैं प्रोग्रामिंग पहली बार सीख रहे हैं तो इंस्टॉलेशन कंपाइलर का क्या मतलब है यह भी आपको बाद में समझ आएगा बट यहां इंस्टॉलेशन का क्या मतलब है जैसे हम बाकी सॉफ्टवेयर्स को इंस्टॉल करते हैं तो अगर मैं प्रोग्रामिंग करना चाहता हूं मैं सी का कोड लिखना चाहता हूं तो मुझे पहले अपने लैपटॉप को अपने कंप्यूटर को अपनी मशीन को क्या करना पड़ेगा तैयार करना पड़ेगा स् कबल बनाना पड़ेगा वोह सॉफ्टवेयर्स डालने पड़ेंगे कि ताकि मैं अपना जो प्रोग्राम है वोह ठीक से लिख सकूं जो भी मैं कोडिंग करना चाहता हूं प्रोग्रामिंग करना चाहता हूं व मैं ठीक से कर पाऊं तो हम सबसे पहले क्या करेंगे वही समझेंगे एक बेसिकली सॉफ्टवेयर होता है इसको आईडी बोलते हैं जिसको हम यहां पर यूज़ करेंगे कोड लिखने के लिए वो आईडी ही क्या होता है उसकी मुझे क्या जरूरत है पहले वो समझेंगे उसके बाद आप में से बहुत सारे लोग अगर विज वाला अपना कंप्यूटर यूज़ कर रहे हैं तो उसके लिए इंस्टॉलेशन देखेंगे कि तो चलिए जल्दी से शुरू करते हैं सबसे पहले क्या देखेंगे व्हाट इज आईडीई तो देखिए आईडीई का मतलब क्या है आईडीई का मतलब होता है इंटीग्रेटेड डेवलपमेंट एनवायरमेंट यानी देखिए जब हम कोड लिखते हैं आप आगे चलके देखेंगे बहुत सारे काम हमको करने होते हैं एज अ डेवलपर यानी मेरे को कोड भी लिखना होगा मुझे बार-बार उसको चलाकर देखना पड़ेगा जिसको हम नॉर्मल भाषा में क्या बोलते हैं कोड चलाकर देखें यानी उसका आउटपुट देखेंगे वो देखना पड़ेगा उसको कंपाइल करना जो मैं बोल रहा हूं अगर कोई गलती है तो गलती ढूंढना यानी ऐसे सॉफ्टवेयर होते हैं जो आपकी गलती ढूंढने में मदद करते हैं ऐसे होते हैं जो सिर्फ उसका आउटपुट दिखाने में मदद करते हैं ब बहुत सारी चीजें होती हैं डीबगिंग होती है लॉगिंग होती है तो पहले क्या हुआ करता था कि जब आप कोड लिख रहे हैं तो आपको हर काम अलग-अलग अलग-अलग सॉफ्टवेयर में करना पड़ेगा फिर लोगों को समझ आए कि यार इससे क्या हो रहा है कोडिंग बहुत ज्यादा टफ हो जा रही है तो क्या करें अगर पता ही है कि यह जनरली सब लोग यूज करते हैं आउटपुट भी देखना है लोगों को डीबगिंग भी करनी है यानी अपने जो अगर कोई कोड में बग आ गया है वोह भी ढूंढना है गलतियां भी ढूंढनी है कोड भी लिखना है कोड में सजेशंस भी चाहिए हिंट भी चाहिए कि अगर मैं लिख रहा हूं तो कंपाइल अपने आप ही सजेस्ट कर दे बेसिकली जो सॉफ्टवेयर है वो अपने आप ही सजेस्ट कर दे कि आप शायद ये लिखना चाह रहे हैं या ये कॉमन मिस्टेक है जो शायद आपने कर दी है तो इसका पूरा एक ही सॉफ्टवेयर बनाकर दे दिया जाए वो जो एक सिंगल सॉफ्टवेयर बनाकर दिया जाता है उसको बोलते हैं आईडीई यानी इंटीग्रेटेड इंटीग्रेटेड का क्या मतलब होता है हमने मैथ्स में इंटीग्रेशन पढ़ा होगा बहुत लोगों ने नहीं जोड़ देना यानी इंटीग्रेट कर दिया है बहुत सारी चीजों को किस चीज के लिए डेवलपमेंट के एनवायरमेंट के लिए यानी डेवलपमेंट मतलब सॉफ्टवेयर डेवलपमेंट के लिए जो हमने एक एनवायरमेंट बनाया उसमें सारी की सारी जो जरूरी चीजें हैं उनको इंटीग्रेट करके आपको दे दिया गया है है ना तो ये क्या है जो सॉफ्टवेयर सूट कंसोलिडेट्स यानी कंसोलिडेट मतलब इकट्ठा करता है जितने भी बेसिक टूल्स रिक्वायर्ड हैं सॉफ्टवेयर डेवलपमेंट के लिए उसको आईडीएम बोलते हैं ये हमारा सेंट्रल हब बन जाता है कोडिंग के लिए प्रॉब्लम्स ढूंढने के लिए टेस्टिंग करने के लिए सब चीज के लिए और इससे फायदा क्या होता है बहुत बड़ा जो डेवलपर है उसकी जो एफिशिएंसी है वो बहुत ज्यादा बढ़ जाती है एफिशिएंसी मतलब आपका टाइम वेस्ट नहीं होता आपको सारी चीजें एक ही जगह पर मिल जाती है तो एज अ डेवलपर अगर आप यहां बैठे होंगे तो सब चीजें आपको आसपास आपके मिल जाएंगी जरूरत क्या है इसकी फिर भी देखिए यहां हमने एक एग्जांपल लिया है यह हमारे सी वाला आईडी नहीं है ये अगर कुछ लोगों ने ए डेवलपमेंट देखा हो तो एंड डेवलपमेंट के लिए जो कटलिन का आईडी आता है ये वो है है ना पर देखिए क्या दिखा रहा है आपको अगर आप यहां पर देखेंगे क्विकली जैसे ही कोई लिखना शुरू करता है है ना देखिए जैसे ही कोई लिखना शुरू कर रहा है क्या कर रहा है अपने आप ही सजेशंस दे रहा है कि यार आप शायद इस तरह से इसको कंप्लीट कर सकते हैं आप शायद ये लिखना चाह रहे हैं तो आपको सिंटेक्स बहुत ज्यादा सिंटेक्स मतलब कोड में कब क्या लिखना है ये आपको याद नहीं रखना पड़ता है अपने आप आपको बताता रहता है कि शायद आपको ऐसा करना है दूसरा क्या अभी अगेन कोड पर ध्यान मत दीजिएगा बट ध्यान दीजिए कलर्स पे देखिए क्या करता है अलग-अलग चीजों को अलग-अलग तरह के कलर्स में दिखाता है इससे क्या होता है बाद में जब आप कोड पढ़ते हैं तो काफी ज्यादा आसान हो जाता है कोड पढ़ना क्योंकि धीरे-धीरे आपको ये मसल मेमोरी हो जाएगी याद हो जाएगा कि किस कलर से क्या मेरे को दिखता है है ना तो क्या करता है स्ट्रीमलाइन डेवलपमेंट करता है प्रोडक्टिविटी आपकी स्कन की इससे इंक्रीज होती है कॉम्प्लेक्टेड एक ही चीज आपको व वर्क प्लेस अपना मिल जाता है और बेसिक फीचर्स क्या-क्या होते हैं इसके ऑटो कंप्लीट यानी आपके कोड को ऑटोमेटिक कंप्लीट करेगा सिंटेक्स हाइलाइटिंग हाइलाइटिंग मतलब यही हम जो बोल रहे हैं अलग-अलग कलर से कोड को दिखाना वर्जन कंट्रोल अभी हम आगे चलके समझेंगे गट की हम एक सेपरेट कंप्लीट वीडियो भी करने वाले हैं है ना जो git2 वर्जन कंट्रोल होता है कि अगर कभी आपने गड़बड़ हो गई पहले तो चल रहा था अभी नहीं चल रहा कोड तो आप पुराने वर्जन पर जा पाएं इस तरह की जो प्रॉपर मेंटेनेंस उसको वर्जन कंट्रोल बोलते हैं और एरर चेकिंग ये सब यहां के लिए आईडी आपको काम आएगा तो अब हम देखते हैं एक-एक करके कि हम ये आईडी इंस्टॉल कैसे करेंगे तो हम स्टार्ट किससे करेंगे स्टार्ट करेंगे हम विज के सेटअप से तो अभी मैं स्विच करूंगा एक कर रहा हूं बट मैं अभी इस इंस्टॉलेशन के लिए आपको एक पहले वि मशीन दिखाऊंगा वहां पर जाकर हम स्टेप बाय स्टेप एक-एक एक-एक स्टेप देखेंगे कि कैसे हम मिस करेंगे तो हमारी फाइनल इंस्टॉलेशन गड़बड़ हो सकती है ठीक है तो सबसे पहले हमको क्या करना है सबसे पहले हमको करना है वीएस कोड को इंस्टॉल वीएस कोड क्या है बीएस कोड का मतलब होता है विजुअल स्टूडियो कोड ये माइक्रोसॉफ्ट जो एक सॉफ्टवेयर कंपनी है उसका बनाया हुआ सॉफ्टवेयर है और इसी के अंदर हम अपनी कोडिंग करने वाले हैं जो अभी हम आईडी ही पढ़कर आए थे वो आईडी क्या है यही वो आईडी है वीएस कोड जो हम मोस्टली प्रोग्रामिंग लैंग्वेजेस के लिए आज की तारीख में यूज़ करते हैं और यहां सी पढ़ने के लिए भी हम यही वीएस कोड को यूज करने वाले हैं तो सबसे पहला काम हम क्या करेंगे वीएस कोड को इंस्टॉल करेंगे हैना तो कैसे करना है सर्च करिए वीएस कोड ऑन ग आपको मिल जाएगा डाउनलोड फॉर विंडोज आपको ढूंढना है तो चलते हैं हमारे विंडोज सिस्टम में यहां आ जाते हैं देखिए ब्राउजर खोल लेते हैं मान लीजिए एज है नाय देखिए एकदम फ्रेश हमने खोला है पूरा नया इंस्टॉलेशन है विंडोज का तो इसमें ऐसा कुछ नहीं होगा कि कुछ चीजें पहले से पड़ी हुई है सब चीज आपको एकदम क्लीन एकदम यहां पर मिलने वाली है ठीक है तो सबसे पहले क्या बोला हमने सबसे पहले हमने बोला आप सर्च करिए क्या इंस्टॉल विजुअल स्टूडियो कोड यह किया मैंने देखिए सबसे पहला जो लिंक आ रहा है इस पर आपको क्लिक करना है डाउनलोड विजुअल स्टूडियो कोड यहां पर हम आ गए हैं यहां देखिए विंडो के लिए दिखा रहा है मैक के लिए दिखा रहा है सबके लिए दिखा रहा है अी हम विंडोज के लिए इंस्टॉल कर रहे हैं तो मैं यहां क्लिक करूंगा विंडोज ठीक है अभी बोल रहा है ऑटोमेटिक डाउनलोड जो है वो स्टार्ट हो गया इसका वेट करेंगे डाउनलोड जब कंप्लीट हो जाएगा तो इसको हम फाइल खोल के इंस्टॉल कर लेंगे काफी सिंपल है इसके अंदर और हमको कुछ करना नहीं है फाइल अपने आप खुल जाएगी य देखिए यहां पर खुल गई है अच्छा शायद दो बार हमने स्टार्ट कर लिया है है ना ब्राउजर को अब हम कर देते हैं नीचे इसको कर लेते हैं यहां पर एक्सेप्ट करेंगे नेक्स्ट करेंगे जो भी यह पाथ दे रहा है उसी पर इंस्टॉल कर लेते हैं विजुअल स्टूडियो कोड के नाम से हमको करना है क्रिएट डेस्कटॉप आइकॉन आप चाहे तो ऑन कर सकते हैं सभी यहां पर ऑन कर लीजिएगा देखिए ओपन विद कोड ओपन विद कोड भी एक्शंस आने लगते हैं अभी इसके बारे में समझना नहीं है बस इनको एक्टिवेट करिए नेक्स्ट करिए इंस्टॉल करिए ये क्या करेगा जल्दी से आपको यहां पर इंस्टॉल कर देगा तो एक काम तो हमको यह करना है इतने नोट्स में जाके देख लेते हैं स्टेप नेक्स्ट स्टेप क्या है तो यह तो तो हमारा फर्स्ट स्टेप था ये हमने कर लिया नेक्स्ट स्टेप क्या है ये कह रहा है वीएस कोड के कुछ एक्सटेंशंस हैं माफ कीजिएगा वीएस कोड के कुछ एक्सटेंशंस हैं जो आपको क्या करने हैं इंस्टॉल करने हैं कौन-कौन से एक्सटेंशंस हैं जो हमको इंस्टॉल करने हैं c c+ प् हमको इंस्टॉल करना है c c+ प् एक्सटेंशन पैक करना है और कोड रनर करना है सबसे पहली बात ये है कि सर एक्सटेंशंस का मतलब क्या है आईडी में तो सब कुछ पहले से मिल रहा था आपने कहा फिर एक्सटेंशन का क्या मतलब है देखिए आईडी क्या करता है अगर 100 चीजें हो सकती हैं और 25 चीज सब लोग इस्तेमाल करते हैं क्योंकि प्रोग्राम भी देखिए अलग-अलग तरह के लिखने होते हैं तो जो 25 लोग सब लोग इस्तेमाल करते हैं वो तो वो अपने अंदर डाल कर ही भेज देता है और बाकी 75 को आपके फोन के एप्स की तरह ज जैसे आप फोन में अलग-अलग एप्स डालते हैं इस तरह से अपने एक स्टोर पर रख देता है जहां पर आप जाकर उनको एज एक्सटेंशंस अपने आईडी में डाल सकते हैं तो क्योंकि विजुअल स्टूडियो कोड तो हर लैंग्वेज के लिए है हमको करना है c स + तो हम पहले विजुअल स्टूडियो कोड डाउनलोड कर लेंगे इंस्टॉल कर लेंगे जो हमारा चल रहा है बैकग्राउंड में और साथ में एक्सटेंशंस हमको इंस्टॉल करने पड़ेंगे जो हमें स्पेसिफिकली c c+ प कोड करने में हेल्प करेंगे ठीक है तो हमको ये तीन एक्सटेंशन डाउनलोड करने हैं वापस चलते हैं हमारा देखिए इतने इंस्टॉलेशन भी हमारा फिनिश हो गया है इसको कर देते हैं फिनिश और विजुअल स्टूडियो कोड को हम खोल लेंगे देखिए अपने आप ही यहां पर खुल गया है बहुत अच्छे हमको क्या करना है इसको एक बार फुल स्क्रीन कर लेते हैं है ना डार्क थीम हमने लगा लिया है अब देखिए एक्सटेंशंस कहां मिलेगा आपको ये जो लेफ्ट में दिख रहा है बॉक्स वाला आइकन ये क्या है ये है मेरा एक्सटेंशंस तो यहां पर क्लिक करेंगे देखिए एक्सटेंशंस आपको दिखने लगेंगे हमको कौन सा इस्तेमाल करना है सी एक्सटेंशन जो है हमारा c स्ल किस नाम से था वापस चलके एक बार दोबारा चेक कर लेते हैं c c+ प देखिए मैंने c ही लिख खा और ये दोनों आपको दिख रहे होंगे देखिए c c+ प भी हमको यहां पर दिख रहा है इसको मैं थोड़ा सा बड़ा करके दिखा देता हूं c c+ प भी हमको दिख रहा है और c c+ प एक्सटेंशन पैक भी दिख रहा है हमको ये दोनों ही इंस्टॉल करने हैं कौन सी कंपनी के है वेरीफाई कर लीजिएगा आप कोई गलत एक्सटेंशन इंस्टॉल नहीं कर रहे हैं microsoft.com लगा इसका मतलब इंस्टॉल हो चुका है इसी तरह से यहां पर भी डिसेबल अन इंस्टॉल आ रहा है यानी इंस्टॉल हो चुका है तो तीन में से दो हमने इंस्टॉल कर लिए अगला क्या है कोड रनर तो कोड रनर को भी हम यहां पर इंस्टॉल कर इंस्टॉल कर लेते हैं मैं बोलता हूं कोड रनर देखिए कोड रनर भी आ गया है कैसे डॉट रन आपको दिख रहा है जुहान ने बनाया है 25 मिलियन डाउनलोड्स हैं ऑलरेडी है ना तो दिख रहा है कितना पॉपुलर अच्छा एक्सटेंशन है इसको भी हमने इंस्टॉल कर लिया तो देखिए यह भी अब इंस्टॉल हो गया है तो ये दोनों स्टेप हमारे पूरे हो गए c स + इंस्टॉल हो गया एक्स बेसिकली वीएस कोड भी इंस्टॉल गया और तीनों के तीनों एक्सटेंशन भी हमारे इंस्टॉल दोस्तों यहां पर हो गए ठीक है नेक्स्ट स्टेप क्या है नेक्स्ट स्टेप है कुछ वीएस कोड की सेटिंग्स जो हमको बाद में काम आएंगी तो एक तो हमको ऑन करना है लाइन रप वापस आ जाते हैं तो हमने एक्सटेंशन इंस्टॉल कर लिए अब आना है हमको सेटिंग्स में तो फाइल के अंदर आएंगे कहां आएंगे प्रेफरेंसेस सेटिंग्स सेटिंग्स में हम आ गए है ना कौन-कौन सी दो चीजें चेक करनी है एक तो लाइन रप लाइन रप को सर्च करते हैं यहां आइए और चेक करिए सर्च करिए लाइन र है ना तो देखिए एडिटर में बोल रहा है इ रैप अभी यहां पर वर्ड रैप जो है रैपिंग फॉर्मेट ये जो भी है ये सब क्या क्या है यहां पर अभी ऑफ है हमको यहां क्या करना है वर्ड रैप को ऑन कर देना है ठीक है तो ये वड रप हमने ऑन कर दिया है ए श्यर कि हम ये जो सेटिंग्स है जो करेक्ट सेटिंग है वही हमने कर कर रहे हैं है ना टेक्स्ट एडिटर में आएंगे तो ये वर्ड रैप जो है ये हमको ऑन कर देना है दूसरा हमको क्या करना है टैब साइज चार से हमको दो चेंज करना है तो यहां टैब साइज अब सर्च कर लेते हैं बोलूंगा टैब साइज अभी बहुत ज्यादा दिमाग नहीं लगाना है कि ये सब है क्या मैं आपको दिखाऊंगा बाद में कैसे ये चीजें हमारे काम आएंगी तो देखिए टैब साइज मेरे को मिल गया टैब साइज यहां पर फोर सेट है यहां पर आप इसको टू कर देंगे इसमें सेव वेव कुछ नहीं करना होता है आप जैसे ही अपना बस माउस हटाएंगे ऑटोमेटिक आप मान सकते हैं कि सेव हो गया है तो ये दोनों की दोनों सेटिंग्स भी हमने चेंज कर लिया यानी लाइन रप हमने ऑन कर लिया है और टैब साइज हमने 4 टू टू कर दिया आ जाते हैं नेक्स्ट स्टेप पे अब देखिए इसके बाद क्या करेंगे काफी सारे चेंजेज हम कर चुके हैं एक्सटेंशंस भी बना चुके हैं एक बार इसको बंद कर दीजिए अब वीएस कोड हमको जब दोबारा चाहिए तब हम इसको स्टार्ट कर लेंगे फिलहाल के लिए हमने इसको बंद कर दिया है है ना नेक्स्ट स्टेप क्या है नेक्स्ट ये लिंक यहां पर दिया हुआ है aka.ms ॉ मड आप नोट से डायरेक्टली क्लिक कर सकते हैं वरना टाइप भी आप यहां पर इसको कर सकते हैं ठीक है तो मैं क्या करूंगा यहां आपको टाइप करके दिखा देता हूं फिर से हम खोल लेते हैं अपना ब्राउजर वीएस कोड हम इंस्टॉल कर चुके हैं इन टैब्स की अब हमको जरूरत नहीं है एटीपीए मेरे साथ टाइप करिएगा क्या-क्या है देखिए मनजी डब् क्या है मिजी ही डब्लू ही वो वो बेसिकली पैक है जहां हमको सारे के सारे हेडर्स कुछ हेडर्स बोले जाते हैं बस बेसिकली आप ये मानिए कंप्लीट सी स प् प्स जितना हमको चाहिए अभी हमको सी चाहिए कंप्लीट सी हमको यहां पर मिलने वाला है तो मैं बोलूंगा मिन जीड देखिए कैसे लिखा है मैंने मिन जीड जैसे एगजैक्टली यहां लिखा हुआ था मिन में ए कैपिटल डब् कैपिटल है ना इंस्टॉल मिन जीड करेंगे एंटर दबा देंगे जब भी आप ये शॉर्टकट से जाएंगे जो भी बेसिकली माइक्रोसॉफ्ट का रेकमेंडेड तरीका है उसका जो लेटेस्ट पेज है आप हमेशा उस पर लैंड कर करेंगे देखिए यहां पर भी ये बोल रहा है आकर क्या कि आपको विजुअल स्टूडियो कोड बेसिकली इंस्टॉल करना है c c+ प् एक्सटेंशन आपको यहां पर इंस्टॉल करना है दोनों ही हम ऑलरेडी इंस्टॉल कर चुके हैं उसके बाद हमको क्या करना है देखिए हमको ढूंढना है एक ये मास 2 एसेस 2 देखिए आपके नोट्स में भी क्या लिखा है एम सस 2 इंस्टॉल करने की कोशिश कर रहे हैं mss2 क्या है mss2 वो चीज है जो आपके लिए मजीड को प्रॉपर्ली बहुत आसानी के साथ अपने सिस्टम पर इंस्टॉल कर देगी आपको इंस्टॉल करने के और भी बहुत सारे तरीके मिलेंगे बहुत सारी जगह पर पर यह सबसे आसान तरीका है सबसे कम इसमें गलतियां होती हैं अलग-अलग सिस्टम्स पर सबसे कम इसमें बेसिकली प्रॉब्लम आती है इंस्टॉल करने में इसलिए हम इसी को यहां पर यूज़ कर रहे हैं और ये हमेशा अपडेटेड रहता है ये तरीका कौन मैनेज कर रहा है माइक्रोसॉफ्ट ही मैनेज कर रहा है तो वापस आ जाएंगे हमको क्या करना है देखिए लिखा हुआ है गेट लेटेस्ट वर्जन ऑफ दिस वाया एसस ट तो हमको क्या करना है यहां पर एमसीस टू का डायरेक्ट लिंक हमको चाहिए देखिए अगर यहां आप थोड़ा सा नीचे आएंगे तो यहां डायरेक्ट लिंक लगा होगा ये लिंक हम डायरेक्टली नोट्स में इसलिए नहीं दे रहे हैं क्योंकि ये लिंक हो सकता है समय के साथ चेंज हो जाए अगर आप इस पेज पर आकर यहां आएंगे डायरेक्ट लिंक टू इंस्टॉल पर तो आपको हमेशा क्या मिलेगा लेटेस्ट लिंक मिलेगा तो यहां हमने कर दिया डायरेक्ट लिंक टू इंस्टॉल तो देखिए इंस्टॉल मेरा डाउनलोड हो गया है इस क्लिक कर देते हैं कि भाई जब भी आप तैयार हो तो क्या करना हमारा जो इंस्टॉलेशन प्रोसेस है उसको आप स्टार्ट कर लेना तो देखिए इंस्टॉलेशन शुरू हो गया है इसी तरह का विंडो आपको कुछ देखने के लिए मिलेगा देखिए अगर हम नोट्स में भी नेक्स्ट स्टेप पर जाएंगे तो यहां भी आपको इसी तरह का विंडो दिख रहा है बोल रहा है अब आपने एसेस टू डाउनलोड तो कर लिया है इसको अब हम करेंगे इंस्टॉल है ना तो इसमें क्या करना है अगेन कुछ नहीं करना है नेक्स्ट नेक्स्ट ये पाथ पूछ रहा है ये पाथ थोड़ा सा याद रखिएगा क्या पात है बाद में जाके काम आएगा अभी हम सी डायरेक्ट्रीएंट्री ये हमारा मजीड इंस्टॉल नहीं हो रहा ये अपने माइंड में ध्यान रखिएगा ये वो सॉफ्टवेयर है जो वो सॉफ्टवेयर इंस्टॉल करेगा जो हमको चाहिए देखिए कहां से कहां जा रहा है सी का इंस्टॉलेशन थोड़ा सा मुश्किल होता है बाकी लैंग्वेजेस के मुकाबले तो ये ध्यान रखिएगा एमसीस जो है वो एक टूल है जो एक्चुअली हमको सी इंस्टॉल करने में हेल्प करता है लेटेस्ट सी के टूल्स इंस्टॉल करता है तो अभी हम m2 को इंस्टॉल कर रहे हैं इसके बाद हम मड को इंस्टॉल करेंगे और दिखाएंगे कैसे mss2 को यूज़ करके मज w को हम इंस्टॉल करेंगे तो ये थोड़ा सा समय लेगा बेस्ड ऑन आपका सिस्टम कैसा है उस पर भी डिपेंड करता है डाउनलोड भी करेगा और इंस्टॉल भी करेगा तो पहले mc2 को इंस्टॉल होने देते हैं हम अपने एडिटर साहब से बोलेंगे कि थोड़ा सा इसको फास्ट चला दें यह देखिए जो इंस्टॉलेशन है डन हो गया है इसके बाद रन का बटन है बिल्कुल रन कर लीजिए इसको ये जैसे ही फिनिश होगा आपको लगेगा कि कोई सॉफ्टवेयर कोई बड़ा टूल आने वाला है बस ये कमांड प्रोमट ही आपके लिए आने वाला है mss2 यही है ये ये कमांड प्रोमट अगर आ गया तो अभी हमारा काम अभी के लिए डन हो गया है वापस आ जाते हैं यहां पर तो एमसीस टू मेरा इंस्टॉल हो गया है उसके बाद हमको क्या करना है मजी डब् अब हम इंस्टॉल करेंगे कैसे एक ये कमांड है जो आप देख सकते हैं हमारे नोट्स में पूरी की पूरी आपको बस कमांड कॉपी करनी है और पेस्ट कर देनी है इस विंडो में जो अभी विंडो खुला है ये कमांड और कहां से मिल सकती है वापस जाएंगे माफ कीजिएगा वापस जाएंगे तो यहां भी हमको ये कमांड मिल जाएगी देखिए नीचे इसी में जहां से आपने इंस्टॉल किया है यहीं से कमांड भी जनरली कॉपी करिएगा वैसे हमने नोट्स में आपके दी है पर उसके बाद भी यहां से करेंगे तो जो भी ले स्टेस्ट है वो आपको मिल जाएगी ठीक है तो ये मेरे को मिल गई कमांड क्या पैकम टू वाली हमको क्या करना है वापस जाना है मजीड वाली विंडो पे और यहां पर आकर इसको एगजैक्टली पेस्ट कर देना है माफ कीजिएगा मैं एक बार इसको दोबारा कॉपी पेस्ट कर लेता हूं कंट्रोल सी कंट्रोल एक्चुअली मेरा थोड़ा कीज का प्रॉब्लम है हां ठीक है तो ये हमने कर लिया और यह दबा दिया एंटर ये थोड़ा आपको छोटा दिख रहा होगा पर ये हमने क्या किया एगजैक्टली कमांड बनाया उसके बाद ये बोल रहा है एंटर अ सिलेक्शन अगर हम सिर्फ एंटर दबा दें कुछ ना करें तो सब डिफॉल्ट इंस्टॉल हो जाएगा हमको सारा का सारा डिफॉल्ट जो है वो इंस्टॉल करना है है ना तो इसको मैं एंटर दबा देता हूं यह क्या होगा सारा का सारा ही बोल रहा है सब कुछ इंस्टॉल कर दें यस कैपिटल y आपको लिखना पड़ेगा कैपिटल y लिखेंगे तो धीरे-धीरे अ एक-एक पैकेज को डाउनलोड करेगा और आपके लिए इंस्टॉल करेगा ब्राउजर को मैं फिर से नीचे कर देता हूं और यह एक-एक पैकेज यहां आप एक-एक करके डाउनलोड करता जाएगा और इंस्टॉल करता जाएगा तो इसको भी हम अपने एडिटर साब से बोलेंगे थोड़ा तेज चला दें बट यह सारा का सारा आपको वेट करना है तब तक ये इंस्टॉलेशन पूरा नहीं होता देखिए यहां दिख भी रहा है मजीड के अलग-अलग जो भी मेरे हेडर्स हैं जो भी चीजें हैं वह सब यहां पर इंस्टॉल होती जा रही है आपका कौन सा विंडोज है उसके लिए क्या एगजैक्टली इंस्टॉल करना है यह मा mss2 अपने आप पिक कर लेता है जैसे सारी हेडेक हमारी दूर हो गई है अपने आप यहां पर इंस्टॉल करता जाएगा सब चीजें यह देखिए यहां पर इंस्टॉलेशन जो है वह डन हो गया है और इसी का हम दोस्तों यहां पर वेट कर रहे थे तो ये हमने चला चला लिया है इंस्टॉलेशन हो गया है डन अब एक लास्ट स्टेप हमारा बचता है जिसका नाम क्या है एडिंग पाथ यानी यह जो हमने जहां पर भी अपना मजीड इंस्टॉल किया है इसका पाथ हमको डालना पड़ेगा और यह देखना पड़ेगा कि यह पाथ जो है वह ठीक से जो सिस्टम है हमारा वो भी पिक कर ले और जो हमने बेसिकली आईडी इंस्टॉल किया था यानी वीएस कोड इंस्टॉल किया था वो भी ठीक से पिक कर ले कैसे करेंगे आपको अपने सर्च बार में आना है और बस एडिट लिखना है है ना या आगे आपको क्या लिखना है एडिट एनवायरमेंट वेरिएबल करना क्या होता है एनवायरमेंट वेरिएबल को एडिट करना होता है ये आपको नोट्स में भी दिख रहा है आप एडिट लिखेंगे उतने से ही आ जाता है तो यहां वापस आते हैं सर्च बार में क्या लिखेंगे एडिट देखिए जैसे ही मैंने एडिट लिखा क्या आ गया एडिट एनवायरमेंट वेरिएबल आ रहा है वरना पूरा भी लिख लीजिएगा इसको क्लिक करेंगे तो देखिए इस टाइप की एक विंडो आपके लिए खुल जाएगी ठीक है जैसे ही इस टाइप की विंडो आपके लिए खुल जाएगी आपको इसमें ढूंढना है अंदर पाथ कहां पर है अगर पाथ नहीं है तो यहां आप न्यू दबाइए वैसे जनरली पाथ आपको यहां पर मिलेगा तो पाथ मिला है तो उसके बाद हम क्या करेंगे इसको करेंगे एडिट ये एडिट आपको दबाना है उसके बाद यहां क्या दबाना है यहां दबाना है न्यू यानी एक नया पाथ हम यहां पर ऐड कर रहे हैं उसके बाद बटन दबाइए ब्राउज और ब्राउज हमको क्या करना है जहां पर अभी हमने इंस्टॉल किया था तो सबसे पहले आएंगे अपने पीसी में अपनी सी ड्राइव के अंदर सी ड्राइव के अंदर मास 64 जो आपका फोल्डर है इसको सेलेक्ट करेंगे उसके बाद यहां किसको सेलेक्ट करेंगे देखिए नोट्स में हमने एगजैक्टली यहां पर आपको दिखाया है तो दिखा रहा है कि एडिट कैसे आपको करना है कहां डालना है देखिए पाथ माफ कीजिएगा पाथ आपको यहां दिख रहा है मा स 64 के अंदर यटी 64 के अंदर बिन फोल्डर में हमको जाना है तो मा 64 के अंदर देखिए कहां है यटी 64 यहां चेक कर लेते हैं यह रहा यटी 64 इसको खोल लीजिए उसके बाद बिन फोल्डर जो है इसको यहां पर सेलेक्ट कर लीजिए और इसको कर दीजिए ओके देखिए ये पाथ यहां पर आ गया है इसको ओके करेंगे आपका दोनों को ओके करेंगे आपका पाथ जो है वो सेव हो जाएगा ठीक है तो यहां पर ये दोनों स्टेप हो गए हैं एक स्टेप हमारा वेरिफिकेशन का रहता है या नहीं अब ये चेक करना है कि पूरा का पूरा जो हमने काम किया है ठीक से चल भी रहा है या नहीं ये पूरा हो गया या नहीं एक बार देख लेते हैं वेरिफिकेशन जल्दी से हमको कैसे करना है तो वेरिफिकेशन के लिए दोस्तों क्या करेंगे खोलेंगे कमांड प्रॉम्स और उसके अंदर आपको क्या लिखना है जीसीसी न न वर्जन तो वापस चलते हैं अपने विंडो इंस्टॉलेशन में क्या करेंगे सबसे पहले खोलेंगे कमांड प्रोमट इसके अंदर जाइए सर्च बार के अंदर लिखिए सीओ डबल m तो यह देखिए कमांड प्रोमट दिखा रहा है कमांड प्रोमट खोल लेंगे है ना यहां पर आप कमांड्स लिख सकते हैं विज में कमांड प्रॉन्प्ट होता है इसके अंदर आपको क्या लिखना है जीसीसी ईन ईन यानी डैश डैश और उसके बाद लिखिए वर्जन एज़ इट इज़ लिखेंगे एंटर दबाए तो देखिए क्या होगा अगर सब कुछ इंस्टॉल ठीक से हुआ है और पाथ आपका सेट हो गया है तो यहां पर आपको क्या आएगा यह जीसीसी का पाथ दिखाने लगेगा मेरे सिस्टम पर अभी इंस्टॉल्ड है जीसीसी वर्जन 13.2 आप अगर यह वीडियो बाद में देख रहे हैं तो आपके लिए इससे लेटेस्ट वर्ज़न हो सकता है उसमें कोई दिक्कत नहीं है कम हो सकता है ज़्यादा हो सकता है बट यहां पर आपको को ठीक से ये दिखना चाहिए तो ये एक स्टेप हो गया यानी हमारा जो कंप्यूटर है उसको जीसीसी यानी जीसीसी वो कंपाइलर है वो सॉफ्टवेयर है जो एक्चुअली क्या करता है हम जब कोड लिखेंगे उसको जो मशीन के कोड में कन्वर्ट करना है वो जीसीसी करता है तो वो जीसीसी यहां पर इंस्टॉल हो गया है जो हमारा काम ठीक से करेगा दूसरा काम हमको क्या करना है हमको अपना विजुअल स्टूडियो कोड जो हमने इंस्टॉल किया था देखिए जिसका शॉर्टकट यहां पर है यहां पर भी जाकर इसको सेट करना पड़ेगा वो सेट कैसे करेंगे पहले विजुअल स्टूडियो कोड को दोबारा खोल लीजिए हमने जो एक्सटेंशंस वगैरह इंस्टॉल किए थे वो सब अभी यहां पर हो गए होंगे है ना एक्सटेंशन हो गए थे हमारी सेटिंग्स हो गई है अब सेटिंग को भी हम यहां पर क्या कर सकते हैं बंद कर सकते हैं नोट्स में आते हैं नेक्स्ट स्टेप क्या करना है ये बोल रहा है कि विजुअल स्टूडियो कोड खोलिए और ऊपर सर्च में हमको क्या देखना है ऊपर सर्च में हमको देखना है शो एंड रन कमांड्स तो वापस आ जाते हैं यहां क्या देखते हैं यहां लिखते हैं शो एक्चुअली हम कुछ नहीं लिखेंगे तो देखिए जैसे ही मैंने क्लिक किया यहां बाय डिफॉल्ट दिखा रहा है शो एंड रन कमांड्स तो यहां पर क्लिक करिए उसके बाद आपको क्या देखना है सेलेक्ट इंटेलिजेंस कॉन्फिन ये नहीं आ रहा है तो सेलेक्ट लिखिए आप एस ई एल ई ऐसे लिखना शुरू करेंगे तो ये आ जाएगा सेलेक्ट इंटेलिजेंस कॉन्फिन इस पर क्लिक करेंगे उसके बाद क्या आएगा देखिए अगर हमारा इंस्टॉलेशन ठीक से हुआ है तो इस अपने आप दिखाने लगेगा देखिए हमने सी के अंदर पाथ में दिखा रहा है यूज जीसीसी एकसी हमको करना है या g+ पसी हमको करना है तो मैं बोल दूंगा यूज जीसीसी ये जैसे ही मैंने क्लिक किया उसके बाद ये क्या करेगा ये वहां जाएगा और उस वाले कंपाइलर को उठा लेगा अपने आप कॉन्फिन कर रहा है देखिए ये गोल-गोल चक्का बन के आ रहा है पर अब इसने वो उठा लिया है है ना तो अगर ये दिख गया आपको दिख भर गया तो इसका मतलब सब कुछ ठीक हो गया है आप क्लिक करेंगे तो इंस्टॉल हो जाएगा नोट्स पे भी जाकर देखेंगे तो क्या है देखिए इसके बाद हमने दिखाया सेलेक्ट इंटेलिजेंस कॉन्फिन और उसके बाद gcc.exe हमको कैसे इंस्टॉल करना है तो दोस्तों इंस्टॉलेशन यहां पर डन हो गया है हमारा windows-7 मिनट स्किप करके डायरेक्टली पहुंच सकते हैं अब हमारे जहां से हम अपना काम स्टार्ट करने वाले हैं सी का पहला प्रोग्राम लिखने वाले हैं उस चैप्टर की तरफ ऑलराइट तो दोस्तों अब हम स्टार्ट करेंगे हमारा इंस्टॉलेशन प्रोसेस किसके लिए मैक ऑपरेटिंग सिस्टम के लिए तो आप में से जो लोग मैक ओ यूज़ कर रहे हैं चाहे लैपटॉप हो apple-system बट कौन से वाला डाउनलोड करना है मैक यूनिवर्सल वाला डाउनलोड करना है तो ज जल्दी सबसे पहले चलते हैं अपने ब्राउजर की तरफ है ना और यहां जाकर क्या लिखेंगे यहां लिख देंगे वीएस कोड मैं इसको थोड़ा सा बड़ा कर देता हूं है ना तो वीएस कोड आ गया वीएस कोड के डाउनलोड पेज पर जाकर डायरेक्टली क्लिक कर देंगे देखिए यहां पर क्या हो रहा है यहां पर भी ये चीजें दिखा रहा है हमको क्या करना है मैक वाला यूज़ करना है यहां से आप उसके बाद सेलेक्ट कर सकते हैं अगर आपके पास सिलिकॉन वाला है तो ये सेलेक्ट कर सकते हैं जैसे करंट मैं जो यूज़ कर रहा हूं वो भी एल सिलिकन है तो इस पे जाकर आप क्लिक कर लेंगे तो ये क्या होगा डाउनलोड आपका स्टार्ट हो जाएगा इसको सेव कर लेंगे इन योर डाउनलोड्स अगर 1 पर आपको ये क्लेरिटी नहीं है वैसे मोस्टली लोगों को पता होता है तो आप क्या कर सकते हैं अबाउट दिस मैक जाकर चेक कर सकते हैं यहां पर लिखा होगा चिप आपके पास कौन सा है तो यहां पर देखिए इसे थोड़ा छोटा दिख रहा है बट यहां दिख रहा है दिस इ apple.tv लोड मेरा पूरा हो गया है उसके बाद क्या करेंगे जिप फाइल जो है इसको ओपन कर लेंगे तो ये दोस्तों एक्सपेंड हो गई है यह देखिए दिखा रहा है कि ये यहीं पर इसने फाइल को डाल दिया है हमको इसको क्या करना है हमको उसको उठा कर के एक सेकंड मैं जरा स्क्रीन बड़ी कर लेता हूं तो अब आपको दिख रहा होगा हुआ क्या है यह जो हमारा जिप फाइल था ये खुल के विजुअल स्टूडियो कोड आ गया है जनरली क्या करते हैं एप्लीकेशन यहां डायरेक्टली आ जाती है आपको इस एप्लीकेशन को उठाना है और उठाकर डायरेक्टली यहां एप्लीकेशंस फोल्डर के अंदर डाल देना है तो अब हम जाएंगे एप्लीकेशंस के अंदर तो एप्लीकेशंस के अंदर अब विजुअल स्टूडियो कोड आ गया है अब आप जाकर सीधे लच पैड से वीएस कोड ढूंढ सकते हैं अ यहां आएंगे तो देखिए वीएस कोड यानी विजुअल स्टूडियो कोड आपको मिल जाएगा इसको कर लेंगे स्टार्ट ठीक है ये बोलेगा आपने इंटरनेट से डाउनलोड किया आप खोलना चाहते हैं हां बिल्कुल खोलना चाहते हैं इसको ओपन कर लीजिए और इसको हम डाल लेंगे अपने एक दूसरे डेस्कटॉप में फिलहाल के लिए तो देखिए क्या हुआ है वीएस कोड हमारा यहां डाउनलोड होकर तैयार है वापस आ जाते हैं अपने इंस्टॉलेशन के स्टेप्स पर तो पहला स्टेप हमारा डन हो गया है सेकंड स्टेप क्या करना है एक्सटेंशन दोबारा से डाउनलोड करेंगे c c+ प् एक्सटेंशन और कोड रनर अगेन हमने विज के लिए भी यही तीन एक्सटेंशन इंस्टॉल किए थे यहां पर भी हम ये तीनों एक्सटेंशन को इंस्टॉल करेंगे तो वापस आ जाते हैं देखिए यहां सबसे नीचे एक्सटेंशंस होता है एक्सटेंशंस को दबाए अभी देखिए क्या बोल रहा है क्योंकि मैंने पहले भी सिस्टम पर ये इंस्टॉल किया हुआ था c c+ प् तो ये बोल रहा है आपको सिर्फ रीलोड करना है आपके लिए यहां पर इंस्टॉल आएगा है ना मैं यहां इसको रीलोड कर देता हूं एक बार c c+ प पर आए तो देखिए मुझे ऑलरेडी इंस्टॉल दिखा रहा है आप यहां पर आकर दिखा आएंगे तो आपको इंस्टॉल दिखाएगा आपको क्या करना है यहां आकर c या c+ प् आप सर्च कर लेंगे एक्सटेंशन में मान लीजिए मैंने सी सर्च कर लिया तो आ गया c c+ प यहां करिए और इंस्टॉल कर लीजिए ऐसे एक्सटेंशन पैक में आएंगे दूसरा जो इंस्ट बेसिकली एक्सटेंशन है उसमें भी आप यहां पर आकर सीधे इसको इंस्टॉल दबाए तो ये इंस्टॉल आपका हो जाएगा और तीसरा हमको क्या करना था हमको करना था कोड रनर तो कोड रनर सर्च कर लेते हैं कोड रनर सर्च करेंगे यहां पर उसके बाद कोड रनर पर क्लिक करेंगे देखिए ये भी मुझे ऑलरेडी इंस्टॉल दिखा रहा है आपको क्या करना है यहां पर इंस्टॉल बटन दि दबाए तो दिखाएगा तो उसको इंस्टॉल कर लेना है जब ये तीनों आपने इं कर लिए उसके बाद आप चाहे तो एक बार विजुअल स्टूडियो कोड को बंद कर कर खोल सकते हैं है ना उससे क्या होता है रीलोड एक बार हो जाता है तो चीजें सब यहां पर ठीक से चलने लगती है एक्सटेंशन के बाद आ गए हम सेटिंग्स पर देखिए सब स्टेप सेम है जो हमने विंडोज मशीन पर भी किए थे अब यहां क्या करना है हमको लाइन रप ऑन करना है और टैब साइज फोर से टू करना है तो वापस आते हैं विजुअल स्टूडियो कोड पर कोड में आएंगे यहां आएंगे सेटिंग्स के अंदर और सेटिंग्स के अंदर आएंगे सेटिंग्स के अंदर ये देखिए सेटिंग्स खुल गई है क्याक हमको करना है वर्ड रप देखिए वड रप यहां मेरा पहले से ऑन है अगर आपको यहां ऑफ दिखा रहा है जैसे ही मैंने वर्ड लिखा सर्च हो गया एडिटर के अंदर वर्ड रप यहां आपको मेक श्यर करना है वर्ड रप जो है वो ऑन हो उसके बाद यहां वर्ड की जगह हम क्या सर्च करेंगे टैब साइज टैब साइज भी देखिए अब क्या आ गया मेरा यहां पर टू सेट है आपका मोस्ट प्रोबेबली फोर सेट होगा तो फोर से आप इसको टू कर देंगे बस आपको वैल्यूज चेंज करनी है यहां रन वन कुछ करने की जरूरत सॉरी सेव करने की जरूरत नहीं पड़ती है ना तो ये दो सेटिंग्स हम चेंज करेंगे यह वाला स्टेप भी हमारा दोस्तों डन हो गया है आ जाते हैं जल्दी से लास्ट स्टेप की तरफ यहां पर हमको चल चलाने के लिए क्या करना पड़ता है वहां जैसे मजीड हम लगा रहे थे विंडोज में यहां हम लगाते हैं सील है ना तो ये सलंग करके एक्सटेंशन यानी सी लैंग्वेज करके एक ऑलरेडी एक्सटेंशन है जिसको आपको इंस्टॉल करना है इन मोस्ट ऑफ द मैक कंप्यूटर्स रिसेंटली नए वाले सॉफ्टवेयर्स में नया वाला अगर आपके पास सॉफ्टवेयर है और आप एक्स कोड ऑलरेडी डाउनलोड कर चुके हैं तो क्या होगा सलंग मोस्ट प्रोबेबली ऑलरेडी इंस्टॉल्ड आपके अंदर होगा तो आप सबसे पहले क्या करिए सबसे पहले खोल लीजिए टर्मिनल तो हम क्या करेंगे सबसे पहले यहां टर्मिनल खोल लेंगे जाकर इसमें सर्च करिए लॉन्च पैड में सर्च करिए टर्मिनल यह आ गया टर्मिनल टर्मिनल को खोल लेंगे देखिए टर्मिनल में मेरे को क्या करना है बता रहा है यह कमांड आपको एज इट इज टर्मिनल के अंदर रन करनी है स्क्रीन को हम थोड़ा सा टेक्स्ट को बड़ा कर लेते हैं स्क्रीन को छोटा कर लेते हैं देखिए सबसे पहले हम क्या लिखेंगे यहां लिखेंगे सलंग न न वर्ज तो ये क्या करेगा ये देखकर बताएगा कि मेरे पास सलंग ऑलरेडी इंस्टॉल्ड है क्या तो ये बोल रहा है apple.co यहां पर और कुछ भी नहीं करना है अगर आपको ये दिखाता है कि ऑलरेडी इंस्टॉल्ड है तो यहां पर आपको कुछ नहीं करना अगर यहां पर आपको एरर दिखाता है तो हमने य क्या किया है आपके लिए दूसरी कमांड दी हुई है आपको बस जाकर टर्मिनल में उसके बाद यह कमांड चला देनी है एक्स कोड सेलेक्ट हान ईन इंस्टॉल तो ये क्या करेगा ये बेसिकली लगा कर आएगा जितने भी बेसिकली डेवलपर के लिए पैकेजेस चाहिए बहुत सारे पैकेजेस इसमें इंस्टॉल कर लेता है सलंग भी उसी का पार्ट है तो सलंग आपका इस कमांड से यहां पर दोस्तों इंस्टॉल हो जाएगा ठीक है तो बस सलंग भी आपका इंस्टॉल हो गया और आपका विजुअल स्टूडियो कोड भी चलने लगा है यहां पर हो जाता है आपका एक्चुअली मैक का इंस्टॉलेशन कंप्लीट मैक के लिए आपको इतना ही करना था बस स्टूडियो कोड डालना था और सील को आपको अ बेसिकली सील का जो वर्जन है वो आपको यहां पर लगाना था एक जो हमको लगाना है अ वो बेसिकली हम यहां से लगा सकते हैं लास्ट स्टेप क्या आप यहां पर आइए विजुअल स्टूडियो कोड में और उसके बाद आइए शो एंड रन कमांड्स के अंदर शो एंड रन कमांड्स में आएंगे तो यहां आपको क्या दिखने लगेगा ये बहुत सारी कमांड्स आपको दिखने लगेंगी है ना हमको क्या करना है यहां सर्च करना है इंटेलिजेंस आप आइए और यहां सर्च करिए इंटेलिजेंस तो देखिए बोल रहा है सेलेक्ट इंटेलिजेंस कॉन्फिन आप इसको सेलेक्ट कर लीजिए यहां पर उसके बाद दिखाएगा कि सी लैंग में आ पर यूज़ कर सकता हूं तो हमको क्या करना है सलंग यूज़ करना है तो बोलेंगे बस आप सलंग यूज़ कर लीजिए तो अब क्या होगा वीएस कोड हमारा सलंग वाला जो कंपाइलर है उसको यहां पर यूज़ करना स्टार्ट कर देगा ठीक है तो यहां पर होती है मैक की इंस्टॉलेशन कंप्लीट अब दोनों ही लोग चाहे आपने विज का इंस्टॉलेशन किया हो या इसका इंस्टॉलेशन किया हो जल्दी से कोड यहां पर रन करके देख लेते हैं है ना तो लास्ट स्टेप क्या है हमारा इस पूरे चैप्टर का व्हिच इज एक हेलो वर्ल्ड का प्रोग्राम हम रन कर लें देखिए अभी आपको ध्यान नहीं देना है क्या कोड है है ना कोड मैंने यहां आपको दिया है आपके नोट्स के लिए आपको कोड पर ध्यान नहीं देना है अभी हम सिर्फ चीज पर इस इस चीज पर ध्यान देना है कि हमारी मशीन में कोड ठीक से रन हो रहा है या नहीं ठीक से कंपाइलेशन का प्रोसेस ये क्या है मैं जो बोल रहा हूं बार-बार कंपाइल क्या है रन क्या है सब हम धीरे-धीरे समझेंगे आगे अभी आपको बस ये देखना है कि आपकी मशीन उस स्टेट पर पहुंच गई है आपका लैपटॉप उस स्टेट पर पहुंच गया है कि वो कोड को रन कर पा रहा है तो अब हम क्या करेंगे वापस आ जाएंगे अपने विजुअल स्टूडियो कोड में जब ये सारी सेटिंग्स हमने कर ली हैं और यहां पर स्टार्ट करेंगे एक नया फोल्डर तो यहां क्या क्या करेंगे देखिए ऊपर एक्सप्लोरर पे आपको क्लिक करना है और यहां करना है ओपन फोल्डर तो हमने ओपन फोल्डर कर लिया कहीं पर भी मान लीजिए डेस्कटॉप पे मैं क्या कर लेता हूं एक नया यहां फोल्डर बना लेता हूं लर्निंग सी मान लीजिए मैंने लर्निंग सी के नाम से एक यहां पर फोल्डर बना लिया इसको कर लिया ओपन तो देखिए क्या होगा यहां पर अभी लर्निंग सी फोल्डर देखिए आपको दिखा रहा है यहां पर ये ओपन हो गया है उसके बाद ये जो आइकंस आपको दिख रहे हैं यहां से एक नई फाइल क्रिएट होती है तो यहां से मैं एक नई फाइल क्रिएट कर सकता हूं मान लीजिए मैं कर लेता हूं फड स देखिए c का आप जो भी कोड लिखेंगे वो कैसे फाइल सेव करेंगे डॉट स के साथ जैसे टेक्स्ट फाइल आप txt.gz लोड करते हो अब हम क्या करेंगे फर्स डॉट स लिखेंगे तो यह क्या बन जाएगा मेरा सी प्रोग्राम के लिए फाइल बन जाएगी इसके बाद यह कोड आपको एज इट इज क्या करना है सिर्फ लिखना है देखिए कहां पर लिखा हुआ है ये ये आपके नोट्स में हमने यहां ऑलरेडी दिया है आपको क्या करना है कॉपी पेस्ट करना है देख देख देख कर लिखना है कुछ दिमाग इसमें अभी नहीं लगाना है पहले क्या लिखना है हैश इंक्लूड एडीओ ए ऐसे एंगल ब्रैकेट्स के अंदर सिर्फ लिखने की प्रैक्टिस करनी है अभी है ना मान लीजिए देख देख कर जैसे बचपन में कई बार लिखते थे कहीं से अगर आप चीटिंग कर रहे हैं कुछ भी कर रहे हैं उस तरह से भी आपको लिखना है सिर्फ यह आदर डालनी है कि ब्रैकेट कैसे टाइप करना है या आप अपने कीबोर्ड पर धीरे-धीरे ढूंढ ले हैश कहां मिलेगा एंगल ब्रैकेट कहां मिलेगा क्योंकि ये चीजें लगातार यूज होने वाली है उसके बाद मैंने क्या लिख लिया मैंने लिख लिया इंट मेन इसको हम थोड़ा बड़ा कर लेते हैं यहां पर आ गया मेरा इंट मेन एक्सप्लोरर को हम कर लेते हैं बंद है ना एक नंबर छोटा कर लेते हैं ठीक है ये आ गया मेरा इंट मेन इंट मेन के अंदर क्या लिखना है अभी ये आप बेसिकली कॉमेंट है इस कॉमेंट को भी हम समझेंगे मेन हमको ये दो लाइनें लिखनी है प्रिंट एफ और रिटर्न जीरो तो यहां हम आएंगे लिखेंगे क्या प्रिंट एफ और इसके अंदर क्या लिख देंगे ऐसे कोड्स के अंदर लिख देंगे हेलो वर्ड ठीक है कुछ भी आप अपना नाम लिखना चाहे कुछ भी लिखना चाहे वो आप यहां लिख सकते हैं उसके बाद लिखेंगे रिटर्न जीरो देखिए अभी बस आपको टाइप करने की बारबार बोल रहा हूं समझना नहीं है क्या है यहां ये सेमीकलन लगाना है है ना ये आपको कहां मिलेगा कीबोर्ड में यहां रिटर्न जीरो लिखना है इनका क्या मतलब है वो नहीं देखना बस इतना देखना है कि ये मैं लिख पा रहा हूं वेलकम फाइल हम बंद कर देंगे और उसके बाद हम करेंगे इसको सेव ठीक है मैंने सेव इसको कर दिया है अब य देखना है कि ये प्रोग्राम रन कैसे होगा तो अगर आपने कोड रनर ठीक से इंस्टॉल किया है एक्सटेंशंस बेसिकली आपने ठीक से इंस्टॉल किए हैं तो यहां पर यह वाला जो बटन है ये आना चाहिए यहां आपको क्या करना है रन कोड जैसे ही आप रन कोड यहां पर दबाए और नीचे आकर देखेंगे देखिए एक विंडो खुल गई है यहां पर क्या दिखा रहा है देखिए जो भी हमने यहां प्रिंट के अंदर लिखा था वो यहां हेलो वर्ड अप प्रिंट हो गया है बहुत सारी और अलग से भी चीजें प्रिंट हुई हैं बता रहा है कितने सेकंड लगे चलाने में क्या करने में लगा बट बेसिकली जो हम यहां प्रिंट करना चाह रहे थे वो प्रिंट यहां पर हो गया है कितना वैलिडेशन है इसका ये वैलिडेशन नहीं कि आपको कोडिंग आ गई है रुकिए रुकिए अभी वैलिडेशन यह है कि आपकी मशीन पर सी का कोड लिखने के बाद आउटपुट ठीक से आ रहा है यानी कंपाइलेशन की प्रोसेस आपका पूरा जितनी भी ये चीजें हम यहां देखने वाले हैं आपका जो पूरा सेटअप था वो पूरा सेटअप सक्सेसफुली डन यहां पर हो गया है ठीक है तो यहां पर क्या बनता है अगर मैं आप दोनों तरफ से आपको क्या मैं दूंगा थम्स अप दूंगा बहुत सारे तो एक बार पटाके बनते हैं ताकि हमने कम से कम अपना पहला चैप्टर पहला जो काम था पूरा का पूरा कर लिया है ठीक है अब जल्दी से चलते हैं अब सी को हम आगे से सीखना शुरू करेंगे हमारी मशीन एकदम तैयार है पहले अगले जो चैप्टर है इसमें हम थोड़ी-थोड़ी चीजों को समझेंगे कि कांसेप्ट क्या है और उसके बाद हम सीधे कोडिंग अपनी स्टार्ट करेंगे तो चलिए दोस्तों जल्दी से स्टार्ट करते हैं हमारे सी कॉन्सेप्ट्स का पहला चैप्टर इंस्टॉलेशन हमारा डन हो गया है फर्स्ट चैप्टर का क्या नाम है फर्स्ट सी प्रोग्राम तो यानी पहला प्रोग्राम हम यहां पर लिखेंगे बेसिक चीजों को समझेंगे बेसिक कांसेप्ट को समझेंगे है ना और समझेंगे कि पहला प्रोग्राम लिखने में क्या-क्या लगता है और ये जो अभी हमने कॉपी पेस्ट कर लिया था इंस्टॉलेशन के टाइम पर बहुत सारी चीजों को इनका क्या मतलब था है ना तो बेसिक प्रोग्राम स्ट्रक्चर यहां पर यहां पर आप बहुत सारी चीजें जो है यहां पर आप सीखेंगे ठीक है यहां पर 10 चीजें हम जो यहां पर सीखने वाले हैं तो सबसे पहले आते हैं पहली चीज पर जिसका नाम क्या है अगेन बेसिक प्रोग्राम स्ट्रक्चर तो यह कोड है जो अभी हम लिख कर आए हैं तो एक बार समझते हैं इस पूरे कोड में हमने क्या-क्या लिखा है तो देखिए सबसे ऊपर जो आप लिख रहे हैं हैश इंक्लूड और उसके बाद लगाते हैं दो इनको क्या बोलते हैं एंगल ब्रैकेट्स दो एंगल ब्रैकेट्स के अंदर आपने लिखा एडीओ ए इसका क्या मतलब है तो दोस्तों क्या है सी वालों ने बहुत सारी चीजें आपको ऑलरेडी बना कर दी हैं क्योंकि हर डेवलपर हर चीज स्क्रैच से नहीं बना सकता तो अगर मान लीजिए हमको यूजर से कुछ इनपुट लेना है यूजर को कुछ आउटपुट दिखाना है उन सबके लिए क्या यूज़ होता है जो कोड ऑलरेडी बेसिकली यूज़ होता है मान लीजिए कीबोर्ड टाइप करने पर जो डाटा है वो आपके प्रोग्राम के अंदर आ जाना चाहिए आप जो प्रोग्राम पर दिखाना चाहते हैं वो मॉनिटर पर दिख जाना चाहिए इसके लिए भी हर एक बेसिक चीज के लिए कोड लिखना होता है वो कोड सी वालों ने ऑलरेडी लिखा हुआ है उन्होंने बोला भाई उसको हमने एक फाइल के अंदर डाल दिया है जिसका नाम है एसटीडीआईओ एसटीडीआईओ कैसा नाम रखा सर बड़ा अजीब नाम है एसटीडीआईओ का मतलब है स्टैंडर्ड एसटीडी स्टैंड्स फॉर स्टैंडर्ड आईओ स्टैंड्स फॉर इनपुट एंड आउटपुट तो एसटीडीआईओ का क्या मतलब है स्टैंडर्ड इनपुट आउटपुट ड ए h का क्या मतलब है डॉट एच का यहां पर मतलब है हेडर फाइल कि य ये क्या है एक हेडर फाइल है इसका जो कोड है बेसिकली इसमें जो भी लिखा हुआ है वो एक लाइब्रेरी की तरह लाइब्रेरी क्या होता है जो कोड पहले से लिखा हुआ है आप यहां पर यूज़ कर सकते हैं तो अगर मैं ऐसी कोई भी फाइल अपने प्रोग्राम में इंक्लूड करना चाहता हूं यानी उसको मैं यूज़ करना चाहता हूं तो मैं क्या करूंगा उसमें लिख दूंगा हैश इंक्लूड यानी ये फाइल को इंक्लूड कर लीजिए एंगल ब्रैकेट्स के अंदर उसका नाम दे देंगे तो ये हुआ पहला स्टेटमेंट अगले स्टेटमेंट पर आते हैं देखिए ये क्या है ये एक नेसेसरी मेन फंक्शन है इसको भी हम देखेंगे ये इतना नेसेसरी क्यों है क्यों लिखना पड़ता है बट अब ये समझिए आई एनटी हम यहां पर लिखते हैं आई एनटी अभी आपको याद करना पड़ेगा कि आई एनटी लिखना है उसके बाद हम लिखते हैं मेन और लगाते हैं दो ब्रैकेट यानी इसका मतलब है फंक्शन डिक्लेरेशन अगेन ये सब चीजें बहुत ज्यादा एक्सपेंड में हम जाके आगे पढ़ेंगे अभी आपको बस बेसिक ध्यान रखना है बेसिक क्या ध्यान रखना है कि एक मेन फंक्शन है और फंक्शन कैसे लिखते हैं नाम लिखते हैं और दो ब्रैकेट लगाते हैं यानी हम एक मेन फंक्शन डिक्लेयर कर रहे हैं उसके बाद जो हम पूरा कोड लिखने वाले हैं वो कहां जाएगा दो कर्ली ब्रैकेट्स के अंदर जाएगा तो क्या करेंगे कर्ली ब्रेसस के अंदर जाएगा पहले कर्ली ब्रेसस ओपन करेंगे फिर कर्ली ब्रेसस क्लोज करेंगे इन दो के बीच में जो भी कोड है वो सब कहां है मेन फंक्शन के अंदर है और मेन फंक्शन के अंदर हमने क्या लिखा है सिर्फ हमने दो स्टेटमेंट्स अभी मेनली लिखे हैं इनको और इसको अभी इग्नोर करेंगे हम आगे देखेंगे ये भी क्या है इसी चैप्टर के अंदर देखेंगे है ना पर अभी हमको क्या देखना है एक हमने कॉल किया प्रिंट f कॉल किया मतलब ये है एक और फंक्शन और ये फंक्शन कहां से आ रहा है ये फंक्शन आ रहा है एडी ए के अंदर से तो हमने स्टैंडर्ड इनपुट आउटपुट का एक फंक्शन यूज़ किया प्रिंट f जिसमें हमने क्या कि या ऐसे फिर से दोंग दो बेसिकली गोल वाले ब्रैकेट लगाए राउंड ब्रैकेट्स उसके अंदर डिफाइन किए दो डबल कोट्स डबल कोट्स के अंदर आप जो भी डिफाइन करते हैं उसको बोला जाता है यहां पर स्ट्रिंग देखिए हर लाइन हर शब्द जो मैं बोल रहा हूं बहुत सारे नए कांसेप्ट अभी आपको यहां पर लग रहे होंगे ओवर वेलम नहीं होना है परेशान नहीं होना है कि यार ये इतना इतना सब क्या है अभी के लिए आपको जितना समझ आ रहा है एक्चुअली इतना ही समझ आना चाहिए 10 20 पर ही यहां पर समझ आना चाहिए इस एक-एक चीज के ऊपर हम आधा-आधा एक-एक घंटा लगाएंगे आगे चलकर है ना तो अब ये स्ट्रिंग क्या है ये फंक्शन क्या है फंक्शन कॉल क्या हुआ समझना नहीं है बस देखना है कि यहां पर ये हो कैसे रहा है तो प्रिंट एफ किया दो ब्रैकेट लगाया डबल कोट्स के अंदर जो भी देंगे वो एक स्ट्रिंग होगा और हर स्टेटमेंट लिखने के बाद हम क्या करेंगे एक सेमीकलन लगाएंगे मशीन को क्या पता चलता है जैसे हम इंग्लिश में लगाते हैं फुल स्टॉप ऐसे प्रोग्रामिंग में लगाते हैं सेमीकलन सेमीकलन का क्या मतलब है सेमीकलन का मतलब है कि भाई मेरी एक बात पूरी हो गई है अब मैं अगली बात लिखने वाला हूं ठीक है तो सेमीकलन लगा दिया उसके बाद अगला हमने क्या लिखा अगला हमने लिखा रिटर्न जीरो मेन फंक्शन में हर बार लास्ट में आपको रिटर्न जीरो लिखना पड़ेगा अभी के लिए इतना याद कर लीजिए लीजिए धीरे-धीरे आगे चलके आपको समझ आएगा कि इसका और क्या मतलब है है ना तो रिटर्न जीरो हमने लिखा है रो का बस आप ये बात मतलब यहां पर समझ सकते हैं रो का मतलब है सक्सेस यानी सब कुछ ठीक से हुआ है अगर आप जीरो के अलावा कुछ भी यहां पर रिटर्न करते हैं तो उसका मतलब है मेरे प्रोग्राम में कुछ गड़बड़ हो गई है यानी मेरा प्रोग्राम क्रैश हो रहा है एक तरह से है ना तो पर अभी के लिए हम क्या करेंगे हर प्रोग्राम में हम जो भी लिख रहे हैं मेन फंक्शन के अंदर एंड में हम लिख देंगे रिटर्न जरो और लगा देंगे सेमीकलन ठीक है तो ये आपका बेसिक प्रोग्राम का स्ट्रक्चर है ऊपर पहले हेडर फाइल आएगी फिर मेन फंक्शन आएगा मेन फंक्शन का डिक्लेरेशन आएगा फिर दो कली ब्रैकेट आएंगे उसके अंदर हमारा कोड आएगा जिसमें अभी हमने प्रिंट एफ को यूज़ किया और बाद में बस रिटर्न कर दिया है ठीक है तो ये हुआ मेरा बेसिक प्रोग्राम स्ट्रक्चर अब एक-एक करके जो बेसिक प्रोग्राम में हमने चीजें की हैं उन पे डबल क्लिक करना स्टार्ट करेंगे देखिए यहां सबसे इंपॉर्टेंट क्या है नोट सबसे इंपॉर्टेंट है आपके हर एक चीज का कोड और साथ में जो भी आपको इंफॉर्मेशन चाहिए एग्जाम टाइम में रिवाइज करने के लिए आप जा रहे हैं इंटरव्यू टाइम में रिवाइज करने के लिए सब कुछ ये नोट्स में है और इन नोट्स का लिंक आपको कहां मिलेगा वीडियो के डिस्क्रिप्शन में मिलेगा तो इन नोट्स को आप डाउनलोड करना मत भूलिए और नोट्स के साथ-साथ पढ़ना मत भूलिए ठीक है तो अब आते हैं आउटपुट पर यानी अभी जो हमने मेथड यूज किया था सबसे पहले हम कहां डबल क्लिक कर रहे हैं डबल क्लिक मतलब सबसे पहले किस में झांक कर देख रहे हैं इस प्रिंट एफ में झांक कर देख रहे हैं यानी हम ये कह रहे हैं भाई यह जो प्रिंट एफ लिखा था इसका क्या मतलब है आइए देखते हैं और ये किस लिए हमने यूज किया था आउटपुट दिखाने के लिए यानी जब हमने यहां पर हेलो वर्ड लिखा था तो हमने अभी प्रोग्राम आपको चलाकर दिखाया था तो क्या हुआ था यहां पर बेसिकली माफ कीजिएगा जब हमने प्रोग्राम में हेलो वर्ड लिखा था तो क्या हुआ था ये या तो दोनों जा रहे हैं तो यहां जब हमने हेलो वर्ड लिखा तो आउटपुट में यहां क्या दिखने लगा था हेलो वर्ड दिखने लगा था तो प्रिंट एफ में आप जो भी लिखते हैं वो कहां चला जाता है आउटपुट विंडो के अंदर चला जाता है है ना तो आउटपुट विंडो में वो सब दिखने लगता है तो शोइंग आउटपुट आउटपुट कैसे हम शो करते हैं प्रिंट एफ फंक्शन को यूज किया जाता है और इसका सिंटेक्स क्या होता है प्रिंट एफ लिखेंगे उसके बाद अपनी एक स्ट्रिंग लगाएंगे उसके बाद आप इसमें अलग-अलग अ बेसिकली आर्गुमेंट भी दे सकते हैं अलग-अलग चीजों को फिल करने के लिए भी दे सकते हैं जोभी मैं आपको दिखाऊंगा जिसका क्या मतलब है तो सबसे पहले तो हुआ प्रिंट एफ एकदम नॉर्मल प्रिंट एफ जिसमें हमने एक स्ट्रिंग को दिखा दिया है ना उसके बाद की चीजें अभी मैं आपको यहां पर दिखाना स्टार्ट करता हूं तो वापस चलते हैं अपने कोड की तरफ पहला सी प्रोग्राम तो हो गया वापस आते हैं एक्सप्लोर में अब यहां क्या करते हैं फर्स्ट वाला तो हो गया एक नया फोल्डर यहां पर बना लेते हैं फोल्डर क्या है फोल्डर है वन फर्स्ट सी प्रोग्राम तो यानी आपको सारा कोड इसका मिल जाएगा यह जितना भी कोड है इसका भी लिंक आपको नीचे मिलेगा यह एक हमने गप पर एक रेपो बनाकर सारा कोड चेक इन कर देंगे ता आप ताकि आपको वहां पर सारा का सारा कोड मिल पाए जो पुराने वाला मेरा कोड था उसको भी ज़ीरो नाम के फोल्डर में डाल देते हैं जिसका नाम रख देते हैं इंस्टॉलेशन स्पेलिंग हो गई है गलत इसको रिनेम कर लेते हैं इंस्टॉलेशन ठीक है और ये जो फर्स्ट थे मेरे इन दोनों को हम उठाकर मूव कर देते हैं इंस्टॉलेशन के अंदर ठीक है तो ये तो चले गया इंस्टॉलेशन के अंदर अब हम आ गए फर्स्ट सी प्रोग्राम में फर्स्ट सी प्रोग्राम में अब हम एक नई फाइल बना लेंगे क्या मान लीजिए प्रिंट ड सी इसमें हम प्रिंट एफ के जलव को देख रहे हैं तो यहां इसका नाम हमने रख दिया प्रं ड स पुराने को बंद करेंगे इसको भी बंद करेंगे अब मैं आपको लिख कर दिखाता हूं क्या हैश इंक्लूड डीड ए हमको करना है है ना इंट मेन हमको लिखना है बार-बार मेरे साथ-साथ लिखते रहिएगा जितनी बार लिखेंगे उतनी बार आपका कोड ये अच्छा होता जाएगा फिर आप सपने में भी इन चीजों में गलती नहीं करने वाले तो अब देखिए प्रिंट एफ में हम क्या-क्या कर सकते हैं तो मैं आ गया प्रिंट एफ में और पहला तो काम जो हम ऑलरेडी करके आए हैं वो मैं यहां पर कर लेता हूं जो कि क्या है हेलो वर्ड है ना और लास्ट में हमको क्या करना पड़ेगा रिटर्न जीरो अब इस कोड को एक बार सेव करते हैं और चलाकर देखते हैं मैं बोल रहा हूं मेरे कोड को रन कर दीजिए तो देखिए हेलो यहां पर आ गया है दूसरा काम हम क्या कर सकते हैं वापस आ जाते हैं अपने नोट्स की तरफ देखिए क्या बोल रहा है आप अलग-अलग चीजों को यहां पर पास भी कर सकते हैं यानी अभी हम आगे चलके डेटा टाइप्स को और इन चीजों को डिटेल में पढ़ेंगे बट अभी आप अभी के लिए आप यह समझ सकते हैं कि प्रिंट एफ में आपने मान लीजिए हमने य लिखा इंटी जर और यहां लगा दिया एक परसेंटाइल डी इंटी जर मतलब मैथ वाला जो इंटी जर आपने पढ़ा है वही मान लीजिए मान लीजिए कोई नंबर मुझे इनपुट करना है यानी कोई नंबर दिखाना है तो मैं इसको और दूसरी तरह से किस तरह से दिखा सकता था मैं बोल सकता हूं प्रिंट एफ माय एज इज मान लीजिए मैं अपनी एज दिखाना चाहता हूं तो एक तरीका तो ये है मैं मान लीजिए यहीं लिख देता हूं 32 है ना दूसरा तरीका क्या है मैं यहां क्या कर सकता हूं अभी हम देखेंगे कि कैसे हो सकता है एज मुझे यहां पर ना पता हो एज कहीं से इनपुट आ रहा है कहीं बाहर से आ रहा है नंबर मैं अलग से रखना चाहता हूं तो आप क्या कर सकते हैं नंबर की जगह आप यहां लिख दीजिए परसेंटाइल डी है ना क्या है ये परसेंटेज का साइन है परसेंटेज इसको बोलते हैं परसेंटाइल तो हम यहां बोल देते हैं परसेंटाइल डी उसके बाद यहां कॉमा लगाकर आप वो वैल्यू दे दीजिए तो मान लीजिए अब मैंने दे दी वो वैल्यू तो क्या होगा ये बेसिकली इसको रन करने से पहले सेव करना मत भूलिए इसको भी हम एक बार सेटिंग को ऑन कर लेते हैं जाते हैं सेटिंग्स के अंदर और यहां सर्च करते हैं ऑटो सेव देखिए ऑटो सेव यहां पर ऑफ है ऑटो सेव को हम कर देते हैं आफ्टर डिले ऑन ठीक है तो ये क्या करेगा थोड़े से डिले करने के बाद हमारी चीजों को ऑटोमेटिक सेव करता रहेगा उसके बाद हम क्या करेंगे सीधे इनको रन करेंगे अभी देखिए बहुत सारे डेवलपर टूल्स का एक्सेस मांग रहा है इसको आपको कुछ नहीं करना है देते जाना है ठीक है तो रन एंड डी बग वाला ऑप्शन अब यहां पर भी आपके लिए आने लेगे आ गया ये इतना इंपॉर्टेंट नहीं है है ना इसको फिलहाल के लिए अभी हम हटा देते हैं हमको देखना है सिर्फ आउटपुट तो आउटपुट में आते हैं और दोबारा से इसको क्या करते हैं रन कोड करते हैं देख इस बार जब हमने रन कोड किया तो पहले लिखा आया हेलो वर्ल्ड एक ही सांस में लगातार दूसरा और क्या लिखा आया उसके बाद लिखा आया माय एज इज 3 तो देखा आपने इसने 32 क्या किया इस परसेंटाइल डी को यहां 32 के अंदर रिप्लेस कर दिया है और पूरा प्रिंट हो गया है माइक एज इज 32 तो यहां देखकर क्या समझ आया हम जहां भी परसेंटाइल डी लिखेंगे बाद में कॉमा लगाकर उसकी वैल्यू अगर आप देंगे तो वो वैल्यू रिप्लेस हो जाएगी इसी तरह से अगर आपको कोई कैरेक्टर सिंगल कैरेक्टर दिखाना है देखिए जब आप स्ट्रिंग बनाते हैं स्ट्रिंग का मतलब यहां पर क्या होता है बहुत सारे कैरेक्टर्स का एक समूह यानी एक सेंटेंस कुछ भी अगर आप एक वर्ड कुछ भी बना रहे हैं तो वो लिखते हैं हम डबल कोट्स में बट अगर एक सिंगल लेटर आपको लिखना है इंग्लिश लैंग्वेज का या किसी भी बेसिकली नंबर कुछ भी अगर आपको सिंगल कैरेक्टर चाहिए तो उसको लगते हैं सिंगल कोट में तो अगर मान लीजिए कोई कैरेक्टर आपको रिप्लेस करना है तो यहां आप उसको क्या देंगे परसेंटाइल c देंगे और अगर कोई ऐसा नंबर है जो डेसिमल नंबर है जिसको मैथ में डेसिमल नंबर बोलते थे डॉट वाला नंबर बोलते थे उसके लिए लिखेंगे परसेंटाइल f ठीक है एक दूसरी चीज यहां समझने इंपोर्टेंट क्या है ये बै स् n बै स् n क्या करता है मान लीजिए अब हेलो वर्ल्ड और माय एज के बीच में कोई गैप नहीं है मैं चाहता हूं यार ये तो अगली लाइन में आना चाहिए तो जब भी आप चाहते हैं बाद का आउटपुट अगली लाइन में आए तो आप वहां क्या देंगे एक बै स्ल n लगा देंगे बै स्ल n का स्पेशल मतलब है बै का मतलब क्या है कि इसके बाद नेक्स्ट लाइन में चले जाना तो फिर से इसको रन करता हूं देखिए इस बार जब मैंने रन किया इसको तो क्या आया नीचे माफ कीजिएगा एक बार चेक कर लेते हैं हमने कहीं तो या तो ब्रैकेट वगैरह की गड़बड़ कर दी है कुछ टाइपिंग करते हुए एक बार इसको वापस करके चलाकर देखते हैं 32 उसके बाद यहां लगा देते हैं बै ए देखिए क्या हुआ हेलो वर्ड आया उसके बाद एक नेक्स्ट लाइन आ गया यहां पर नेक्स्ट लाइन आने का मतलब जो पूरा आगे का आउटपुट है वो आया है अगली लाइन में तो माय एज इज 32 माय एज इज 32 आ गया मान लीजिए इसमें मैं चाहता हूं माय एज एक लाइन में आए और इज 32 नेक्स्ट लाइन में आए तो इसके बीच में मैंने क्या लगा दिया बैक सलेक्शन लगा दिया फिर से एक बार चला कर देखता हूं फिर से चलाया देखिए क्या आया हेलो वर्ड माय एज इज 32 है ना क्योंकि यहां पर पहले स्पेस था तो एक पहले स्पेस यहां पर आया उसके बाद आया इस 32 तो हमको दो चीजें यहां पर समझनी थी मेन क्या बैक स्लश n का क्या इस्तेमाल है वो हमने समझ लिया है दो चीजों के बीच में अगर नेक्स्ट लाइन लाना है तो बै स् n लगाएंगे उसके अलावा अगर नॉर्मल नंबर्स दिखाने हैं इंटी जर यानी बिना डॉट के नंबर तो उसके लिए आप परसेंटाइल डी परसेंटाइल आ यूज कर सकते हैं कैरेक्टर्स के लिए परसेंटाइल सी और डेसीमल नंबर्स के लिए परसेंटाइल f इस तरह से हम दिखाते हैं यहां पर आउटपुट ठीक है उसके बाद क्या है अगला चीज जो हम डीप डा डाइव कर रहे हैं वो है मेन मेथड यानी प्रिंट तो हम लगा रहे हैं पर ये मेन मेथड इतना इंपॉर्टेंट क्यों है मेन मेथड इतना इंपोर्टेंट क्यों है समझते हैं देखिए मेन मेथड क्या है मेन मेथड है एंट्री पॉइंट यानी जब आप बोल रहे हैं जब हम ये रन वाला बटन दबा रहे हैं तो कंपाइलर कर क्या रहे कोई जादू थोड़ी कर रहा है जब भी हम ये रन वाला बटन दबाते हैं तो ये क्या करता है ढूंढता है कि मेन कहां लिखा हुआ है आपने मेन मेथड कहां लिखा है जहां भी मेन मेथड लिखा है वहीं से आपके कोड को एग्जीक्यूट करना यानी रन करना स्टार्ट कर देगा एक ला एक-एक लाइन पर जाएगा और एक-एक लाइन को उसको रन करना स्टार्ट कर देगा तो मेन मेथड क्या है मेन मेथड आपका एंट्री पॉइंट है फॉर अ सी प्रोग्राम एग्जीक्यूशन यहीं से स्टार्ट होता है है ना तो जब भी आप अपने कोड को रन करना स्टार्ट करते हैं वो क्या ढूंढता है वो मेन ढूंढता है और मेन से स्टार्ट करता है इसलिए मेन लिखना जरूरी है दिस इज रिक्वायर्ड एवरी एग्जीक्यूटेबल सी प्रोग्राम मस्ट हैव अ मेन फंक्शन यानी अगर आपका कोड एग्जीक्यूट होना चाहता है आप कोड तो लिख सकते हैं पर अगर आप उसको एग्जीक्यूट नहीं कराना चाहते तो नहीं लिखिए मेन है ना यानी कई बार ऐसा होता है कि आपका कोड डायरेक्टली एग्जीक्यूटेबल ना हो जैसे मान लीजिए जिसने एडी ए फाइल लिखी उसका कोड तो डायरेक्ट एग्जीक्यूट नहीं हो रहा उसका कोड लोग यूज़ कर रहे हैं एग्जीक्यूट करने के लिए तो उन केसेस में आप मेन मेथड को स्किप कर सकते हैं बट अगर आप अपना हमारे जैसे हैं नॉर्मल इंसान हैं जो अपना कोड लिखना चाहते हैं ना आप चाहते हैं कि मेरा कोड प्ले वाला वो जो बटन है व एंगल वाला बटन है वह दबाने पर रन हो तो आपको क्या करना पड़ेगा यहां पर आप आपको मेन मेथड लिखना जरूरी है जो लास्ट में हम बोल रहे थे रिटर्न जीरो वो क्या है वो है उसका रिटर्न टाइप तो ये टिपिकली एक इंटी जर रिटर्न करता है जब भी हम बोल रहे हैं कोई नंबर रिटर्न होने वाला है तो उसके लिए लिखते हैं आई एटी जिसका मतलब है इंटी जर आगे चलके डटा टाइप में इसको और ध्यान से समझेंगे है ना और जीरो का मतलब क्या है यहां पर जीरो का मतलब सक्सेस है और अगर जीरो के अलावा कोई भी नंबर आप रिटर्न करते हैं तो ये सिग्नल जाता है ऑपरेटिंग सिस्टम को कि भाई मेरा जो फंक्शन है वो ठीक से खत्म नहीं हुआ है मेरा कोड ठीक से खत्म नहीं हुआ है कोई ना कोई गड़बड़ हो गई है है ना नाम यहां पर फिक्स्ड है ये आपको याद रखना है स्मॉल लेटर्स में ही एम ए आई ए आपको लिखना है उसके बाद दो ब्रैकेट्स आपको यहां पर लगाने हैं ठीक है रिकॉग्नाइज बाय सी कंपाइल जो अंदर आपको यहां वॉइड दिख रहा है ये लिख भी सकते हैं आप नहीं भी लिख सकते हैं अगर आप ब्लैंक भी छोड़ते हैं तो उसका मतलब वॉइड होता है तो इसलिए जनरली मेन मेथड के जो ब्रैकेट्स है उनको जनरली एमटी यहां पर छोड़ दिया जाता है ठीक है ये हुआ इंपॉर्टेंस ऑफ मेन मेथड फाइल एक्सटेंशन जल्दी से विजिट कर लेते हैं देखिए जो भी हम अपना कोड लिख रहे हैं वो हमेशा कहां लिखेंगे डॉट स फाइल के अंदर लिखेंगे जैसा कि अभी हमने लिखा था और जो हेडर फाइल्स हैं वो कहां मिलती हैं डॉट ए में मिलती है तो डॉट सी का क्या मतलब है एग्जीक्यूटेबल कोड इसके अंदर आता है ये वाला जो भी कोड है इसको कंपाइल किया जाता है अभी जो हम प्ले बटन दबा रहे हैं उसमें क्या-क्या स्टेप्स हो रहे हैं अभी आपको दिख नहीं रहे पर कोड पहले कंपाइल होता है यानी एक मशीन वाले कोड में कन्वर्ट होता है उसके बाद उसको रन किया जाता है तो बोल रहा है जो भी आप कोड लिखेंगे डॉट स फाइल के अंदर वो ट्रांसफॉर्म होगी पहले एग्जीक्यूटेबल प्रोग्राम के अंदर ठीक है और ये जनरली क्या होता है इसके अंदर मेन मेथड होता है और अगर डॉट ए फाइल की बात करेंगे तो क्या होता है इसके अंदर जनरली डिक्लेरेशंस होते हैं उस कोड के लिए जो शेयर करने वाले हैं यानी एडी . ए क्या है आप भी वही एटीडीओ . ए यूज़ कर रहे हैं जो मैं अभी यहां सिखाते हुए यूज़ कर रहा हूं लाखों बच्चे जो सी पढ़ रहे हैं लाखों डेवलपर्स जो सी में प्रोग्राम लिख रहे हैं एसटीडीआईओ ड ए सबके लिए सेम है तो वो क्या है एक फाइल है जो सबके लिए शेयर हुई है तो अगर ऐसा कोई कोड है जो शेयर जनरली किया जाना है उसको कहां लिखते हैं डॉट एच के अंदर लिखते हैं क्यों लिखा जाता है डॉट एच के अंदर इससे मॉड्यूलर मेनेजेबिलिटी बढ़ती है यानी जो कॉमन कोड है उसको बार-बार क्यों लिखना हर आदमी अपना-अपना क्यों लिखे अगर कॉमन कोड है तो उसको एक जगह लिख लेते हैं वो मैनेज करना भी आसान होगा लिखना भी आसान होगा है ना तो इससे मॉड्यूलर मतलब छोटे-छोटे मॉड्यूल मॉड्यूल आप बना सकते हैं कि क्या काम किस फाइल में अभी तो हमने सिर्फ एक हेडर फाइल देखी है जिसका नाम क्या है एडी ड ए है ना पर इस तरह की और हेडर फाइल्स भी होंगी ये सिर्फ किस लिए है स्टैंडर्ड इनपुट आउटपुट के लिए है अगर और तरह के हमको अलग-अलग काम करने होंगे उनके लिए और फाइल्स मिलेंगी तो एक हेडर फाइल में कोड डालने से क्या होता है एक ही तरह का कोड डालने से क्या होता है मॉड्यूलर आती है है ना और इससे क्या होता है कोड डुप्लीकेट नहीं होता ये हम ऑलरेडी देख चुके हैं डॉट स फाइल्स में कोड डुप्लीकेट नहीं होता उसको हम डॉ ए फाइल में लिख लेते हैं है ना तो ये होंगे फाइल एक्सटेंशन आपको याद रखने हैं हर कोड जो हम लिखेंगे उसमें डॉट सी एक्सटेंशन लगाना फिलहाल के लिए आपको नहीं भूलना है है ना अगला पॉइंट क्या है अगला पॉइंट है कॉमेंट्स देखिए अभी तक हमने कोड में देखा है दो-तीन जगह बट अभी तक हमने क्या किया है उसको इग्नोर किया है तो एक बार देखते हैं कॉमेंट्स का मतलब क्या है देखिए कई बार जब आप कोड लिख रहे हैं जैसे हम ये कोड यहां पर लिख रहे हैं कोई-कोई लाइन के लिए आप ये चाहते हैं कि यार यहां पर मैं कोई कॉमेंट छोड़ दूं किसके लिए ये मशीन के लिए नहीं है ये दूसरे डेवलपर के लिए है कि भाई जब आप ये कोड पढ़ रहे हो तो इसका यह मतलब है मैंने इसलिए डाल दिया था कई बार जब आप कहीं जुगाड़ मार देते हैं वो बोला जाता है ना हैक कर दिया है अभी फिलहाल के लिए बाद में देख लेंगे बाद में ठीक से लिख लेंगे अभी जल्दी-जल्दी में उसको इसी तरह से ठीक कर दिया है उस केसेस में भी वहां पर कमेंट छोड़ दिए जाते हैं तो कमेंट का बहुत ज्यादा यूज़ होता है ये क्या है ये है ह्यूमन रीडेबल कंटेंट है यानी किसके लिए है दूसरे ह्यूमन के लिए है मशीन के लिए नहीं है ये वो लाइंस हैं जो आप अपने कोड में लिखते हैं और मशीन इनको टोटली इग्नोर कर देती है यानी आपका जो कंपाइलर है वो जब आपके कोड को मशीन के कोड में कन्वर्ट कर रहा होगा तो इनको टोटली इग्नोर कर देगा तो वो कैसे लिखते हैं आप दो तरह के हो सकते हैं सिंगल लाइन कॉमेंट हो सकता है और मल्टी लाइन कॉमेंट हो सकता है सिंगल लाइन कमेंट कैसे दिखाएंगे ये दो स्लैश लगाकर दो फ्रंट स्लैश के बाद आप जो भी लिखेंगे उस पूरी की पूरी लाइन में देखिए कलर भी हमारा आईडी उसका चेंज कर रहा है क्या कर रहा है ग्रीन कलर कर दे रहा है इसका मतलब है भाई ये मैं नहीं पढ़ने वाला ये पूरा का पूरा इग्नोर है तो हमने यहां क्या लिख दिया प्रिंट एफ के ऊपर दिस इज़ अ सिंगल लाइन कॉमेंट एक्सप्लेनिंग द नेक्स्ट लाइन यानी हम इसमें सिंगल लाइन में एक्सप्लेन कर रहे हैं कि अगली लाइन में क्या है और ये क्या करेगा जब मशीन जो है वो इसको वो जो कंपाइलर है वो उसको पूरा का पूरा इग्नोर कर देगा अगर एक लाइन से आपका काम नहीं चलने वाला मोस्टली जगह पर एक लाइन से काम चल जाता है तो डबल स्लैश हमारे ओके होते हैं बट अगर आपका एक लाइन से काम नहीं चलने वाला आपको बहुत ज्यादा कमेंट्स लिखने हैं तो आप ये सिंटेक्स भी यूज़ कर सकते हैं यानी स्लैश स्टार उसके बाद ये कब तक चलता रहेगा आप कितनी भी लाइन में जाइए हर ज जब तक कमेंट चलता रहेगा जब तक इसको दोबारा स्टार स्लैश नहीं मिलता है ध्यान रखिएगा ऑर्डर उल्टा है ओपन करते हैं स्लैश स्टार से और बंद करते हैं स्टार स्लैश के साथ तो ये क्या होगा इसके बीच में जो भी आएगा वो पूरा मल्टीलाइन कॉमेंट होगा बार-बार याद रखना है ये कमेंट किसके लिए है कंपाइलर के लिए नहीं है कॉमेंट दूसरे ह्यूमन के लिए है जो आपका कोड पढ़ेगा इवन आपके लिए 6 महीने बाद अपना कोड पढ़ते हैं समझ नहीं आता कई बार यार कि क्या लिख दिया है तो 6 महीने बाद आपको भी ये समझ आ पाए कि मैं क्या यहां पर लिख कर गया था क्या मैंने गंद फैलाई है उसके लिए आपको ये कमेंट छोड़ने होते हैं जनरली ये बहुत अच्छी प्रोग्रामिंग प्रैक्टिस होती है कि आप काफी सारे कमेंट जो है अपने कोड में लिखते रहे ताकि कोड जो है सामने वाले को जब कोई पढ़ रहा है या आप ही बहुत समय के बाद पढ़ रहे हैं तो आपको क्लेरिटी होती जाए कि इस कोड का मतलब क्या है ठीक है तो ये हुए हमारे कमेंट्स इसके बाद आ जाते हैं जल्दी से एक काम हम और कर लेते हैं कोडिंग यूजिंग कमांड लाइन देखिए अभी तक हमने क्या किया है हमने तो आईडी पूरा सेटअप कर लिया है और आईडी के अंदर हम कोड चलाकर भी देख पा रहे हैं जो काम हमने नहीं किया है वो क्या है कोड यूजिंग कमांड लाइन तो अगर कमांड लाइन से मेरे को कोड लिखना है तो हम कैसे लिखेंगे बहुत जल्दी से मैं आपको ये कर कर दिखाता हूं तो हम क्या करेंगे देखिए यहां मैंने इसको आपको एग्जांपल भी यहां पर दिया हुआ है आपको यहां पर क्या करना है आपको यहां पर एक पहले टेक्स्ट फाइल भी हम बना सकते हैं यानी जरूरी नहीं कि आईडी में ही कोड लिखा जाए ये हमारा काम सिंपल कर रहा है बट अगर हम काम सिंपल नहीं करना चाहते हैं सर मैं तो चाहता हूं मुश्किल तरह से काम हो है ना मैं एकदम सख्त लड़का हूं मुझे चाहिए मुश्किल तरह से काम तो मुश्किल तरह से से काम कर लेते हैं आप क्या करिए अगर आप मैक पर हैं तो य टेक्स्ट एडिट वरना जो भी आप नॉर्मल टेक्स्ट एडिटर यूज करते हैं व विज पर भी आप वहां पर जाइए इसको एक बार खोल लीजिए हम बोलेंगे भाई इसके अंदर हम एक नया लिखना चाहते हैं इसी फोल्डर के अंदर हम चले जाते हैं फससी प्रोग्राम के अंदर और यहां बना लेते हैं एक न्यू डॉक्यूमेंट आप विंडोज पर हैं तो वहां न्यू फाइल बना लेंगे ठीक है इसका टेक्स्ट साइज हम कर लेते हैं बड़ा और फिलहाल के लिए मैं क्या करता हूं यही जो मेरा पूरा का पूरा कोड मैंने यहां लिखा था इसी को हम यहां पर कॉपी कर देते हैं और यह जो प्रिंट स्टेटमेंट है इसकी जगह हेलो वर्ड की जगह हम क्या क्या लिख देते हैं फर्स्ट कोड इन फाइल देखिए पहली बात तो आपको डिफरेंस ही समझ आ रहा होगा यहां कोड पढ़ना कितना आसान कितना अच्छा लग रहा था क्यों क्योंकि यहां पर अलग-अलग सिंटेक्स हाइलाइटिंग कर रहा था मेरा आईडी हैश इंक्लूड अलग कलर से दिख रहा था ब्रैकेट दोनों क्लियर अलग दिख रहे थे कहां शुरू हो रहा है कहां खत्म हो रहा है बट यहां पर देखिए क्या है यहां पर हमको सब कुछ ब्लैंड दिख रहा है ये तो नॉर्मल टेक्स्ट फाइल है तो यहां पर तो नॉर्मल मेरे को एकदम चीजें दिखने वाली है है ना बाकी आप अभी मैं जिस तरह से कोड लिख रहा हूं आप ये भी ध्यान रखिएगा ये जरूरी नहीं है लिखना बट इसको कन्वेंशन बोलते कि कहां कितना स्पेस छोड़ना है यह जो ब्रैकेट है ये नेक्स्ट लाइन में ही क्यों आया है दोनों ब्रैकेट एक के नीचे एक है उसका जो भी हम कोड लिख रहे हैं दो-दो स्पेस छोड़ कर लिख रहे हैं यानी एक टैब को छोड़कर लिख रहे हैं है ना तो ये भी क्या होता है जनरली कन्वेंशन होता है बट बहुत ज्यादा भी इसके बारे में सोचना हमको नहीं है ये मैंने फाइल में कोड यहां पर डाल लिया इसको मैं करता हूं सेव किस नाम से सेव करूं मान लीजिए फाइल कोड मैंने इसका नाम रख दिया फाइ कोड ड सी इसको आप सेव कर दीजिए इसी के अंदर उसके बाद क्या करेंगे कोड मेरा सेव हो गया है फिर से जाना पड़ेगा हमें टर्मिनल के पास तो टर्मिनल को हम खोल लेते हैं इसको सबसे पहले कहां जाएंगे हमारा फोल्डर पड़ा हुआ था डेस्कटॉप के अंदर डेस्कटॉप के अंदर लर्निंग सी के अंदर एलएस दबाए देखेंगे इंस्टॉलेशन है और क्या है फर्स्ट सी प्रोग्राम है हमको कहां जाना है फर्स्ट सी प्रोग्राम के अंदर जाना है तो फर्स्ट सी प्रोग्राम के अंदर चलते हैं फिर से एलएस करके देखते हैं अगर आप विंडोज पर हैं तो आप क्या लिखेंगे आप ईआर लिखेंगे है ना इसके अंदर देखिए हमारा कोड हमको मिल गया कहां हमारा कोड है फाइ कोड ड सी फाइ कोड स हमको मिल गया है है ना इसके बाद हम क्या करेंगे इसको कंपाइल करेंगे हाथ से कंपाइल करेंगे कंपाइल करने का क्या मतलब है कंपाइल करने का मतलब है जो कोड हमने लिखा है इसको हम का में कन्वर्ट करेंगे मशीन के कोड में कन्वर्ट करेंगे तो कैसे करेंगे हाथ से लिखेंगे जीसीसी हमारा फाइल का फाइल का नाम क्या है प्रिंट तो अपनी फाइल का नाम दीजिए प्रिंट डॉट न न सॉरी प्रिंट नहीं है हमारे फाइल का नाम है फाइल कोड है ना एक बार मैं इसको क्लियर कर देता हूं ताकि आपको एकदम क्लियर तरह से यहां पर दिखे हम लिख रहे हैं जीसीसी फाइल डॉट सी है ना फाइल कोड डॉट सी उसके बाद क्या करना है देखिए नोट्स में देखिए हमने क्या लिखा है उसके बाद आपको आउटपुट फाइल का अपनी नाम देना है तो मैं दूंगा बेसिकली ड ओ और यहां पर कोई भी आप आउट दे सकते हैं वरना a डट आउट नाम की फाइल अपने आप बना देता है बट अच्छा है कि हम अपना नाम दे दें तो तो मैं बोलता हूं फाइल कोड डॉट आउट आप इसका नाम रख दीजिए विज पर है तो उसका जनरली नाम डॉटसी करके रखा जाता है आप डसी करके भी रख सकते हैं एंटर दबाया फिर से एलएस किया तो देखिए क्या हुआ एक नई फाइल यहां पर बन गई फाइ कोड ड आउट के नाम से अब आप इसको अगर चलाना चाहे तो आप क्या लिखें डॉट स्ल अगर विंडोज पर है तो स्लैश उल्टा लगेगा है ना डॉट स् फाइ कोड ड आउ एंटर दबाए देखिए क्या हुआ जो मैंने कोड के अंदर लिखा था फर्स्ट कोड इन फाइल यह क्या हुआ पूरा का पूरा यहां पर इस वाली स्क्रीन पर प्रिंट हो गया ये जो है ये सिर्फ टर्मिनल की बात है टर्मिनल की वजह से आ रहा परसेंटाइल हमने नहीं दिया है बट जो भी हम वहां पर आउटपुट स्क्रीन पर आ रहा था वो हमको यहां पर दिख रहा है बट आपने स्टेप बाय स्टेप देख लिया टेक्स्ट फाइल बनाना सेव करना उसको कंपाइल करना और उसको रन करना यह सब हम हाथ से भी कर सकते हैं बट ये सब हमको ना करना पड़े इसलिए हम क्या करते हैं सिंगल वो हम आईडी के अंदर लिखते हैं प्ले वाला बटन दबाते हैं वो सब कुछ काम करके हमको आउटपुट भी वहीं पर दिखा देता है ठीक है तो ये हो गया हमारा कमांड लाइन से कैसे कोड लिखना है अगर कभी हमारा लिखने का मन कर जाए तो जल्दी से अब 2 मिनट की थ्योरी भी हम और देखेंगे यह समझेंगे कि प्रोग्रामिंग लैंग्वेज का मतलब क्या है अभी हमने इतना देख तो लिया पर सर ये हो क्या रहा है प्रोग्रामिंग लैंग्वेज देखिए प्रोग्रामिंग लैंग्वेज कुछ नहीं है जब मान लीजिए यहां पर दो इंसान है आपस में बात करते हैं दो इंसान आपस में क्या बात करते हैं कि किस लैंग्वेज में बात करते हैं उसको बोला जाता है नेचुरल लैंग्वेज यानी जो हिंदी है इंग्लिश है ये जो हम बात करने के लिए यूज़ करते हैं इसको क्या बोलते हैं नेचुरल लैंग्वेजेस है जिसमें दो इंसान जो है वो कम्युनिकेट कर सकते हैं अगर आपको मशीन के साथ कम्युनिकेट करना है तो क्या करना पड़ेगा आपको मशीन की लैंग्वेज इस्तेमाल करनी पड़ेगी कंप्यूटर्स कौन सी लैंग्वेज इस्तेमाल करते हैं कंप्यूटर सिर्फ समझते हैं ऑन या ऑफ यानी जीरो या वन देखिए आपके घर में कोई मिक्सर है मान लीजिए कपड़े धोने की मशीन है वो क्या करती है तो ऑन रहती है ऑफ रहती है उसको इससे ज्यादा कुछ भी समझ नहीं आता आपके ऊपर जो बल्ब जल रहा है पंखा चल रहा है उसको क्या समझ आता है या तो मैं ऑन हूं या मैं ऑफ हूं देखिए कंप्यूटर भी एक बिजली का ही डिवाइस है बिजली से चलने वाला है इसको भी सिर्फ ऑन समझ आता है हालांकि हमने इसको बहुत ज्यादा कॉम्प्लिकेट कर दिया है छोटी-छोटी चीजों में हम ऑन ऑफ ऑन ऑफ ऑन ऑफ बहुत तेजी के साथ करते हैं तो उसको कुछ-कुछ आउटपुट हमको वहां पर निकल कर आता है अब ये समझिए कि कंप्यूटर को सिर्फ जीरो या वन समझ आता है तो एक तरीका तो ये है कि अब मान लीजिए आप कहीं और जाते हैं हमारे इंडिया में कितनी सारी लैंग्वेजेस चलती है है ना मैं मान लीजिए इससे पहले हैदराबाद में रहता था मैं हैदराबाद जाऊं वहां मैं किसी ऐसे इंसान से बात करूं जिसको सिर्फ कौन सी लैंग्वेज आती है तेलुगु बात करनी आती है और मान लीजिए मुझे तेलुगु बिल्कुल नहीं आती तो हम क्या आपस में बात कर पाएंगे नहीं अब ह्यूमंस तो बात कर रहे हैं ह्यूमन लैंग्वेजेस में क कंप्यूटर बात कर रहा है रो व में तो आपस में कैसे बात करें मैं कंप्यूटर को कैसे समझाऊं कि मेरे लिए क्या काम करना है हमको कुछ ऐसा माध्यम ढूंढना पड़ेगा जो हमारी बात एक दूसरे को समझा सके यानी अगर दो इंसान आपस में बात करना चाहते हैं जो सेम लैंग्वेज नहीं बोलते उनको भी क्या चाहिए होता है ट्रांसलेटर चाहिए होता है यहां भी चाहिए एक ट्रांसलेटर तो प्रोग्रामिंग लैंग्वेज क्या है प्रोग्रामिंग लैंग्वेज ह्यूमन इंस्ट्रक्शंस की लैंग्वेज है एक हाई लेवल लैंग्वेज है जिसमें क्या करते हैं हम अपने थॉट्स को लिखते हैं ह्यूमन इंस्ट्रक्शंस यानी प्रोग्रामिंग लैंग्वेज में और उसके बाद एक कंपाइलर नाम का प्रोग्राम क्या करता है उस ह्यूमन लैंग्वेज ये जो ह्यूमन ने इंस्ट्रक्शंस लिखे हैं इनको कन्वर्ट कर देता है 01 01 01 में यानी जो कोड अभी हम लिख रहे थे और उसके बाद हमने कंपाइल किया हमारे कोड को कंपाइलर क्या करता है 0101 में कन्वर्ट कर देता है ताकि मशीन को वो समझ आ सके तो प्रोग्रामिंग लैंग्वेज की हेल्प से हम क्या करते हैं कंप्यूटर को इंस्ट्रक्शंस देते हैं कि कंप्यूटर को क्या करना है और इन इंस्ट्रक्शंस को ही हम क्या बोलते हैं कोड बोलते हैं या प्रोग्राम बोलते हैं तो जब मैं सी में कोड लिख रहा हूं तो उसी को हम क्या बोलते हैं सी प्रोग्राम लिख दिया है मैंने या सी का कोड लिख दिया है क्या है सी में लिखे हुए इंस्ट्रक्शंस है और सी कौन सी लैंग्वेज है सी एक ऐसी लैंग्वेज है जिसमें मैं अपनी थॉट्स को सी में लिखूंगा एज ह्यूमन ह्यूमन को सी समझ आती है और कंपाइलर सी को कन्वर्ट कर देता है कंपाइलर एक ऐसा है जो सी की भाषा को कंप्यूटर की भाषा में यानी 0 व की भाषा में कन्वर्ट कर सकता है तो ये आपका ट्रांसलेटर है या आपका इंटरप्रेटर है है ना तो ये क्या कर रहा है हाई लेवल लैंग्वेज को लो लेवल लैंग्वेज में कन्वर्ट कर रहा है यानी मशीन कोड में इसको क्या बोला जाता है इसको बोला जाता है हाई लेवल लैंग्वेज यानी सी ये जितनी भी लैंग्वेजेस हैं ये सब क्या है ये सब हाई लेवल लैंग्वेजेस हैं प्रोग्रामिंग लैंग्वेजेस हैं और इनको हम कर रहे हैं लो लेवल लैंग्वेज में कन्वर्ट कंपाइलर को यूज करके जिसको बोला जाता है मशी मशीन कोड तो प्रोग्रामिंग लैंग्वेज का आपको मतलब समझ आना चाहिए ये भी एक तरह की प्रॉपर लैंग्वेज है बस ये लैंग्वेज ऐसी है जो कंपाइलर को भी समझ आती है और हमको भी समझ आती है और कंपाइलर हमारी लैंग्वेज को कन्वर्ट कर देता है किसमें आपकी मशीन की लैंग्वेज में दूसरी टर्म जो आपने बहुत सुनी होगी बहुत ज्यादा इस्तेमाल होती है वो है कि एल्गोरिथम एल्गोरिथम का क्या मतलब है देखिए एल्गोरिथम बहुत पुराना शब्द है कंप्यूटर साइंस से एल्गोरिथम का कोई डायरेक्ट मतलब नहीं है एल्गोरिथम बहुत पुराना शब्द है मैथ्स में एल्गोरिथम को पहले यूज़ किया जाता था और एल्गोरिथम का मतलब क्या होता है एल्गोरिथम का मतलब होता है कोई भी काम कर ने का अगर स्टेप बाय स्टेप प्रोसीजर है तो उसको हम क्या बोलेंगे एल्गोरिथम बोलेंगे जैसे आपने देखा होगा बहुत सारे आजकल तो youtube1 स्टेप करके समझाते हैं कि आप ऐसे-ऐसे करिए और बहुत अच्छा फ्राइड राइस आपके लिए बन जाएगा वो भी क्या है वो एक तरह की एल्गोरिथम है उसको आप बोल सकते हैं ये एल्गोरिथम है फ्राइड राइस बनाने के लिए एल्गोरिथम है चाय बनाने के लिए तो यहां पर मान लीजिए हम चाय की बात कर रहे हैं तो कोई स्टेप बाय स्टेप प्रोसीजर मान लीजिए समझाता है क्या कि भाई पहले चाय को डालिए और गर्म पानी को डालिए तो अंग्रेज वाली चाय बना रहा है यार सिर्फ टी बैग में गरम पानी मिलाकर बना रहा है चलिए कोई बात नहीं उसके बाद ये क्या बोल रहा है 5 मिनट तक चाय को पकने दीजिए उसके बाद उसमें शुगर हनी लेमन डालिए जो टी बैग है उसको निकाल दीजिए चाय आपकी रेडी हो गई है चाय शायद मुझे बहुत अच्छी नहीं लगेगी बट पॉइंट क्या है पॉइंट ये है इसने एक स्टेप बाय स्टेप प्रोसीजर समझाया चाय बनाने का तो ये क्या होगा एक एल्गोरिथम होगा दूसरा एल्गोरिथम क्या है आजकल आपने देखा होगा इससे पहले जब कोविड चल रहा था कोविड के बाद क्या है बहुत जगह आजकल स्टेप्स लगे र रहते हैं कहां आपको डिस्टेंस लेकर खड़ा होना है हाथ आपको किस तरह से वाश करने हैं हाथ को सैनिटाइज कैसे करना है ये सब क्या है मान लीजिए किसी ने पोस्टर लगाया कि हाउ टू सैनिटाइज योर हैंड्स द राइट वे ये हाथ सैनिटाइज करने की एल्गोरिथम है आपको ये समझना है एल्गोरिथम का बस मतलब ये है कोई भी काम करने का अगर स्टेप बाय स्टेप प्रोसीजर है और अगर कोई वो स्टेप बाय स्टेप प्रोसीजर करे वो काम पूरा हो जाएगा तो वो एक एल्गोरिथम है तो एन एल्गोरिथम इज अ स्टेप बाय स्टेप प्रोसीजर फॉर सॉल्विंग प्रॉब्लम और परफॉर्मिंग अ टास्क कोई भी प्रॉब्लम सॉल्व करने के लिए कोई भी काम पूरा करने के लिए अगर स्टेप बाय स्टेप प्रोसीजर है तो वो एल्गो अब हम देखेंगे कि ये कंप्यूटर साइंस में कैसे यूज होता है आगे चलकर पर अभी एल्गोरिथम का इतना मतलब आपको समझ आना चाहिए उसके बाद एक और चीज ये सेकंड लास्ट चीज बची है क्या इसका नाम है सिंटेक्स सिंटेक्स का क्या मतलब है सिंटेक्स आपने बहुत सुना होगा शब्द कि अरे सिंटेक्स क्या है देखिए जब सी कोई लैंग्वेज है है ना सी लैंग्वेज में चीजों को किस तरह से अरेंज करना है शब्दों को किस तरह से अरेंज करना है वही उसका सिंटेक्स होता है जैसे देखिए यहां पर ये दो भैया दीदी बात कर रहे हैं क्या बात कर रहे हैं यह बोलती है वाचिंग वाज आ अ मूवी ये बोल रहा है भाई आपका क्या मतलब है क्या आप यह कहना चाहती हैं आई वाज वाचिंग अ मूवी बोले हां मैं यही बोलना चाहती हूं पर यह बोलेगा आपकी लैंग्वेज गलत है आपका सिंटेक्स गलत है क्यों आपने चीजों को जिस ऑर्डर में लगाना चाहिए उस ऑर्डर में नहीं लगाया जिन चीजों को इस्तेमाल करना चाहिए उन चीजों को इस्तेमाल नहीं किया तो आपका सिंटेक्स गड़बड़ हो गया तो जिस तरह से नॉर्मल लैंग्वेजेस में सिंटेक्स आप गलत कर सकते हैं ग्रामर आप गलत कर सकते हैं उसी तरह से सी का भी वही काम होगा प्रोग्रामिंग लैंग्वेजेस में वही होगा यानी स्ट्रक्चर ऑफ वर्ड इन अ सेंटेंस आप किस तर तरह से स्ट्रक्चर बनाएंगे उसी को क्या बोलते हैं सिंटेक्स बोलते हैं प्रोग्रामिंग लैंग्वेजेस में क्या देखेंगे फॉर करेक्ट प्रोग्रामिंग एग्जैक्ट सिंटेक्स मस्ट बी फॉलो यानी अगर हमने बोला है मेन से पहले एंट लगाना है मेन के बाद दो ब्रैकेट लगाना है कहां कली ब्रैकेट लगाना है कहां सेमीकलन लगाना है ये सब एगजैक्टली फॉलो होगा तभी सी कंपाइलर आपकी बात को क मशीन की लैंग्वेज में कन्वर्ट कर पाएगा अगर उसको कुछ भी ऐसा होगा कि उसको समझ में नहीं आ रहा है वो बोलेगा भाई मेरे को समझ नहीं आ रहा ये रही आपकी एरर यानी मैं आपके कोड को समझ नहीं पा रहा हूं आपके कोड का सिंटेक्स ठीक नहीं है ये आपकी एरर है प्लीज जाइए अपने कोड को ठीक करिए बट सिंटेक्स का मतलब क्या है सिंटेक्स का मतलब बस आप ये समझिए कि स्ट्रक्चर जो भी है आपने लैंग्वेजेस में जो जो भी आप लगा रहे हैं वो चाहे वर्ड्स हैं ब्रैकेट्स हैं डॉट्स हैं सेमी कोलस हैं जो भी हैं उनका जो स्ट्रक्चर है उनका जो सीक्वेंस है वो आपने ठीक से फॉलो किया या नहीं किया दैट विल अमाउंट टू सिंटेक्स ठीक है और लास्ट चीज बस अब हम देखने वाले हैं क्या कि कंपाइलर जो हम तब से बोल रहे हैं कंपाइलर होता क्या है तो सबसे पहले राइट में आइएगा और ये देखिएगा कंपाइलर क्या करता है एक सी फाइल होती है अभी तक हमने हेलो वर्ड स कितनी बार लिखी है कंपाइलर उसको कन्वर्ट कर देता है 10 में ये बात हम ऑलरेडी समझ चुके हैं पर देखिए अब हम बात करेंगे स्पेसिफिकली सी के कंपाइलर की सी का जो कंपाइलर है वो ये चार स्टेप्स मेनली करता है है ना ये आपके सिलेबस के लिए भी बहुत इंपॉर्टेंट है एग्जाम के लिए भी बहुत इंपॉर्टेंट है क्या चार स्टेप्स हैं एक बार देखिएगा जल्दी-जल्दी सबसे पहला स्टेप है प्री प्रोसेसिंग का स्टेप प्री प्रोसेसिंग का क्या मतलब है प्रोसेस बेसिकली क्या करता है डायरेक्टिव्स को प्रोसेस करता है जैसे कि हैश इंक्लूड या हैश डिफाइन हमने अपने कोड में सबसे ऊपर क्या लिखा हुआ था हैश इंक्लूड लिखा हुआ था तो ये जाता है सबसे पहले देखता है कहां-कहां हैश वाली चीजें लिखी हुई है उनको मैं निकाल लेता हूं तो हैश डिफाइन अभी हम आगे चलकर देखेंगे नेक्स्ट स्टेप में क्या होता है बट हैश इंक्लूड क्या है फाइल इंक्लूड करनी है तो अगर हमारी कोई डिपेंडेंसी है तो पहले तो आनी चाहिए ना अगर आपको रोटी बनानी है तो पहले आटा तो होना चाहिए तो अगर हमने बोला है कि भाई हम एडीओ . ए को यूज़ करने वाले हैं तो सबसे पहले वो क्या करेगा जाके एडी . ए को आपके प्रोग्राम से लिंक करेगा तो प्री प्रोसेसिंग का स्टेप सबसे पहले होता है है ना हैश इंक्लूड हैश डिफाइन को करेगा बिफोर कंपाइलेशन यानी कंपाइलेशन से पहले ही हो जाता है और ये क्या करता है इसे सोर्स कोड को मॉडिफाई कर देता है यानी वहां एडी की जगह जाकर वहां वो एक्चुअल कोड वहां पर भर देगा सेकंड स्टेप क्या है कंपाइलिंग कंपाइलिंग क्या करता है ये आपके सोर्स कोड को हाई लेवल लैंग्वेज को कहां कन्वर्ट कर देगा असेंबली लैंग्वेज में असेंबली लैंग्वेज क्या है मशीन जो कोड है 101 वाली जो लैंग्वेज है उसी को असेंबली लैंग्वेज भी बोलते हैं वो उसका एक थोड़ा सा हाई लेवल लैंग्वेज होता है उसका बिल्कुल रो व वाला जो है वो असेंबली होते है यानी आपका कौन सा प्रोसेसर है स्पेसिफिक टू आपका मशीन है ना सी का प्रोग्राम एक मशीन पर कंपाइल किया हुआ जरूरी नहीं दूसरी मशीन पर चल जाए आपका मशीन आपका प्रोसेसर आपका आर्किटेक्चर उसके हिसाब से असेंबली में क्या करेगा आपके कोड को यहां पर कन्वर्ट कर देगा सेकंड स्टेप में हमारा कोड क्या हुआ है कन्वर्ट हो चुका है यानी कंपाइलेशन कंपाइलिंग का जो स्टेप है उसमें हमारा कोड कन्वर्ट हो चुका है थर्ड स्टेप क्या है थर्ड स्टेप है असेंबलिंग अब क्या करता है यह यह जो असेंबली लैंग्वेज बनी है ये फाइनली हमने जो बीच वाली स्टेप बनाया है असेंबली लैंग्वेज को ये मशीन कोड में कन्वर्ट करेगा यानी असेंबली लैंग्वेज भी मैं कह रहा था ना एक लेवल ऑफ हाई लेवल लैंग्वेज है उसके बाद एग्जैक्ट मशीन लैंग्वेज में जो कन्वर्ट करना है वो क्या करेगा असेंबलिंग करेगा बेस्ड ऑन आपका एग्जैक्ट मशीन का आर्किटेक्चर देखकर चीजें देखकर और यहां से क्या बनाएगा ऑब्जेक्ट फाइल्स को बनाएगा और सबसे लास्ट क्या है सबसे लास्ट है लिंकिंग देखिए जब आप अभी बड़े-बड़े प्रोग्राम्स लिखेंगे तो मतलब जैसे मैं मान लीजिए microsoft-ds को सिंगल एग्जीक्यूटेबल में बनाना कोड तो बहुत सारा लिखा हुआ है पर मेन मेथड तो एक ही होगा जहां से कोड स्टार्ट होना है और वो मेन मेथड एक होने के लिए कोई फाइल आपको बनाना पड़ेगा जिसको कोई या तो मान लीजिए डॉट स्ल करके चलाए या डबल क्लिक करके चलाए उसको क्या बोलते हैं उसको बोलते हैं एग्जीक्यूटेबल तो एग्जीक्यूटेबल बनाने का जो काम है उसको बोला जाता है लिंकिंग ठीक है तो यहां पर दोस्तों हमारा कंपाइलेशन प्रोसेस भी हो जाता है खत्म अब चलेंगे हम जल्दी से अपने ये हो गया हमारा अगर रिवीजन में देखेंगे प्रोग्राम स्ट्रक्चर हमने देखा आउटपुट कैसे दिखाना है मेन मेथड का क्या मतलब है फाइल एक्सटेंशन कॉमेंट्स कमांड लाइन से कैसे कोड करना है और उसके बाद हमने ये सब समझा थोड़ा सा थोड़ा सा थियोरेटिकल पार्ट था प्रोग्रामिंग लैंग्वेज एल्गोरिथम सिंटेक्स और कंपाइलर है ना ये किस तरह से काम करते हैं अब चलेंगे जल्दी से और हम अपना कोड करना अब स्टार्ट करेंगे तो दोस्तों हम स्टार्ट करेंगे हमारा अगला चैप्टर जो कि क्या है चैप्टर नंबर टू तो एक फर्स्ट प्रोग्राम तो अब हम लिख चुके हैं अब हम बेसिकली समझना शुरू करेंगे बेसिक कांसेप्ट को सीखे है ना जो स्टार्टिंग के एक दो चैप्टर्स हैं ये बहुत ज्यादा इंपॉर्टेंट है बेसिक समझना सबसे ज्यादा इंपॉर्टेंट है अगर ये आप एक बार समझ गए तो आपको ठीक से सब कुछ समझ आ जाएगा तोय क्या करेंगे बहुत बड़ा चैप्टर नहीं है क्या-क्या पढ़ने वाले हैं हम इसमें वेरिएबल को समझेंगे वेरिएबल क्या होते हैं डेटा टाइप्स क्या होते हैं और इनपुट आउटपुट कैसे ले सकते हैं यूजर से तो इनपुट यानी यूजर से कोई अगर डटा चाहिए इंफॉर्मेशन चाहिए यूजर से कैसे ले सकते हैं और यूजर को दिखा कैसे सकते हैं देखिए दिखा कैसे सकते हैं वो प्रिंट एफ में हमने करके देखा मोटा-मोटा उसके और हम देखेंगे उसमें और चीजें कैसे कर सकते हैं बट बेसिकली इनपुट आउटपुट हम यहां पर देखने वाले हैं सर यह बात तो ठीक है ये किचन के डब्बे यहां पर क्यों लगा दिए गलती से कुछ और लगा दिया है क्या नहीं ये बहुत ज्यादा इंपॉर्टेंट है एक बहुत इंपॉर्टेंट एग्जांपल ये लेकर आएंगे तो चलिए जल्दी से अपना चैप्टर शुरू करते हैं और देखते हैं क्या होते हैं वेरिएबल है ना तो सबसे पहला टॉपिक क्या है हमारा व्हाट आर वेरिएबल तो वेरिएबल क्या हैं देखिए वेरिएबल इज यूज्ड टू स्टोर डाटा यानी अगर मेरे को कोई डटा स्टोर करना है तो वो मैं क्या करूंगा वेरिएबल की मदद से करूंगा और क्या जो है डेफिनेशन है इसकी वेरिएबल आर लाइक कंटेनर्स यूज्ड फॉर स्टोरिंग डेटा वैल्यूज देखिए जब आपके पास मान लीजिए घर में राशन आता है है ना हम क्या करते हैं महीने में हफ्ते में है ना अलग-अलग घर में अलग-अलग रिवाज होता है अलग-अलग तरीका होता है बट मान लीजिए हम जाकर बाजार से राशन लेकर आए अब उस राशन का होगा क्या वो राशन आपको किचन में लगाना तो पड़ेगा और वो किचन में लगाने के लिए आपको क्या चाहिए होंगे डब्बे चाहिए होंगे अब क्या हर चीज का डब्बा बराबर होता है क्या हर चीज के लिए मम्मी 1 किलो का डब्बा यूज करती है क्या चाहे वो नमक हो चाहे वो केसर हो मान लीजिए मैं ऐसी-ऐसी चीजें ले रहा हूं जिनके लिए बहुत थोड़ा या बड़ा चाहिए हो मसाले हो हर चीज के लिए क्या होता है डब्बा अलग साइज का होता है आटे के लिए बहुत बड़ा आटा है चावल के लिए बहुत बड़ा ड्रम रखा जाता है मसालों के लिए छोटी सी मसाले दाने रखी जाती है दालों के लिए एक बीज साइज का डब्बा रखा जाता है घी के लिए घी दानी रखी जाती है है ना तो हर चीज के लिए क्या होता है बेस्ड ऑन कि उसके अंदर मैं क्या रखने वाला हूं उसी साइज का एक डब्बा जो है वो किचन में आपकी मिलता है ये जो डब्बा है ये आप मान लीजिए ये क्या है वेरिएबल है है ना तो अलग-अलग तरह का डेटा मुझे स्टोर करते रहना पड़ेगा प्रोग्राम में वो जरूरत भी हम समझेंगे कि डेटा स्टोर करने की जरूरत ही क्या है बट डेटा हमको स्टोर करना रहेगा और वो स्टोर करने के लिए हमको अलग-अलग तरह के डब्बे यहां पर चाहिए होंगे है ना तो एक वेरिएबल में क्या दो क्या होता है दो चीजें होती है एक होता है वेरिएबल का नाम और एक होता है कि वो उस वेरिएबल के अंदर वैल्यू क्या है यानी एक तो हुआ डब्बा और एक डब्बे के अंदर माल क्या है तो यानी क्या हुआ हम जब भी कोई वेरिएबल यहां पर बनाते हैं अपने डाटा के लिए बनाते हैं पहले एक वेरिएबल का नाम रखा जाता है ताकि आप हमेशा ये कह सकें कि मुझे यह वाला डब्बा लाकर दीजिए देखिए ये तो क्या है ट्रांसपेरेंट डब्बे हैं आपके जो किचन के अभी हम यहां पर डब्बे दिखा रहे हैं इनमें तो आपको पता है किसके अंदर क्या है बट मान लीजिए आपने कोई एक वेरिएबल आप बनाना चाहते हैं यूजर का एक नाम लेना चाहते हैं आप और वो आप कहीं स्टोर करना चाहते हैं अब अगली बार जब आपको वो नाम चाहिए होगा कि अरे यार नाम याद नहीं आ रहा यूजर का जरा नाम क्या था बताइए तो तो आपको क्या करना पड़ेगा आपको याद रखना पड़ेगा कि मैंने वो नाम कहां पर सेव किया था ऐसे ऑफिस की फाइलें होती हैं आपको याद करना है अ मान लीजिए इमेजिन करिए एक ऑफिस है सरकारी ऑफिस है बहुत सारे कस्टमर्स हैं 100 कस्टमर हैं 1000 कस्टमर हैं सबकी फाइल रखी हुई है आपको क्या करना पड़ेगा आपको याद रखना पड़ेगा कस्टमर नंबर 231 का जरा डाटा निकालिए या स्कूल में आपके क्या होता है बच्चों का रोल नंबर होता है एक रोल नंबर के बेस पर उस बच्चे का सारा डाटा निकल जाता है तो वो जो रोल नंबर है वो जो बेसिकली फाइल नंबर है वो क्या है वेरिएबल का नाम है जो आप हमेशा याद रखेंगे वेरिएबल का नाम आपको याद रखना पड़ेगा उस वेरिएबल के नाम के बेसिस पर वैल्यू आप निकाल लाएंगे तो वह वेरिएबल आप ढूंढ लेंगे कि अच्छा यार a नाम के वेरिएबल के अंदर मैंने कि हेलो वर्ड लिखा हुआ है या मान लीजिए b नाम के वेरिएबल के अंदर मैंने 1000 लिखा हुआ है इस टाइप से जो है वेरिएबल आपके कंटेनर होंगे और कंटेनर के अंदर होंगी वैल्यूज ठीक है तो यह तो हुआ हमारा वेरिएबल अभी हमने प्रोग्रामिंग के टर्म्स में इसको ना चलाकर देखा है ना समझा है अभी मेन बस मैं आपको समझाना चाहता हूं कि वेरिएबल का मतलब क्या है जब कोई वेरिएबल सोचता है तो सीधे आंखें बंद कर और किचन का डब्बा आपके दिमाग में आना चाहिए कि यानी कुछ ना कुछ स्टोर होने वाला है और उसका हम कुछ ना कुछ नाम रखने वाले हैं दो ही चीजें वेरिएबल के लिए इंपॉर्टेंट है ठीक है मेमोरी एलोकेशन की अब बात कर लेते हैं देखिए जब भी कोई वेरिएबल आप डिक्लेयर करते हैं तो वेरिएबल क्या डिक्लेयर करने का क्या मतलब है जब आप कोई वेरिएबल यूज़ करना चाह रहे हैं अपने प्रोग्राम में तो पहले आपको अनाउंस करना पड़ता है मान लीजिए लाउड स्पीकर पढ़ लेकर अनाउंस करना पड़ता है कि भाई ये मेरे को चाहिए या प्रोग्राम को आप मान लीजिए कंप्यूटर आपको बताना पड़ता है कि भाई इतनी जगह मुझे चाहिए क्यों क्योंकि ये तो कंप्यूटर की जिम्मेदारी है वो उतनी जगह खाली तो करके रखेगा अगर मान लीजिए आपके पास किचन में इतने डब्बे हो की किचन में जगह ही नहीं है तो तो आप वो डब्बा ओबवियसली किचन में नहीं रख पाएंगे तो क्या होगा अगर मान लीजिए आपने एक स्पेशल दाल मंगाया आज मान लीजिए आपने कॉर्नफ्लेक्स मंगाया कि मम्मा मैं तो कॉर्नफ्लेक्स भी खाऊंगा फल से ठीक है कॉर्नफ्लेक्स आ गया अब वो कॉर्नफ्लेक्स के लिए मम्मी को किचन में डब्बा तो खाली करेंगी जिसके अंदर वो कॉर्नफ्लेक्स आकर रखा जाएगा तो वो डब्बा कौन खाली करेगा यहां पर मम्मी कौन है यहां पर मम्मी है आपका ऑपरेटिंग सिस्टम या आपका कंप्यूटर तो अगर आपके प्रोग्राम में आप कोई भी वेरिएबल यूज करना चाह रहे हैं तो वो आपको पहले डिक्लेयर करना पड़ता है कि भाई इतनी जगह खाली करके रखिएगा हमको इस तरह का डाटा आपके पास सेव करना होगा तो डिक्लेरेशन कैसे करते हैं देखिए डिक्लेरेशन का सिंटेक्स होता है ये है ना अ ये इंट भूल जाइए इंट का क्या मतलब है अभी इंट का मतलब आप इंटी जर मान कर चलिए किस ये क्यों लिख रहे हैं हम कितने तरह के होते हैं ये भी हम आगे देखेंगे डाटा टाइप्स में बट अभी आपको ये समझना है कि एक आपको पहले टाइप डिफाइन करना पड़ता है कि किस टाइप का डब्बा जब मम्मी का आप बोलेंगे कि किचन में एक डब्बा खाली कर लीजिए तो पूछेगी ना कि किस चीज के लिए चाहिए क्या रखना है तो आपको यह बता रहे हैं हम यहां पर कि एक नंबर हम रखना चाह रहे हैं इंटी जर टाइप का उसके बाद आप बताएंगे वे का नाम तो मैंने बोला उस डब्बे का नाम आप a रख दीजिए इक्वल टू लगाकर क्या देते हैं इक्वल टू है हमारा असाइनमेंट ऑपरेटर तो इक्वल टू लगाकर क्या देंगे इक्वल टू लगा कर देंगे उसकी वैल्यू कि उसके अंदर अभी पांच रख दीजिए ये आपका एक्चुअल कॉल फ्लेक्स है जो आप रखना चाह रहे हैं तो जब हम वेरिएबल डिफाइन कर रहे हैं तो पहले देंगे वेरिएबल का टाइप फिर देंगे वेरिएबल का नाम और इक्वल टू लगाकर देंगे वेरिएबल की वैल्यू इसको मल्टीपल पार्ट्स में भी डिफाइन किया जा सकता है जरूरी नहीं कि आप हर बार क्या करें वेरिएबल की वैल्यू डिफाइन करें आप ऐसे भी करके छोड़ सकते हैं कि मान लीजिए मैं बोलता हूं इंटी जर b और कॉमा यहां स्पेस है अगर आपको नहीं दिख रहा है तो इंटी जर स्पेस b और आपने सेमीकलन लगा दिया इसका मतलब क्या है एक b नाम का इंटी जर में सेव करने वाला हूं एक इंटी जर को सेव करने के लिए जितनी जगह चाहिए उतनी जगह खाली करके रख लीजिए जब मेरे पास वैल्यू होगी तो मैं आपको दे दूंगा ठीक है और होता क्या है जैसे ही आप ये डिक्लेरेशन करते हैं तो जैसे आपकी ये रम है है ना जैसे पुरा आजकल के तो बच्चे शायद नहीं खेलते होंगे पहले वीडियो गेम जो नॉर्मल वीडियो गेम आते थे उनमें इस तरह की कैसेट लगा करती थी है ना तो ये क्या होता है ये मेमोरी है इस मेमोरी में क्या होगा जैसे ही आप ये लगाएंगे आपने अगर रम देखी हो किसीने कि रम किस तरह की दिखती है तो इसी तरह की दिखती है जैसे ही रम में आप आप ये बोलेंगे कंप्यूटर को कि मुझे एक इंटी जर भी चाहिए कंप्यूटर क्या करेगा रम में आपके लिए एक जगह खाली करेगा और उस जगह का एक एड्रेस होगा एक नाम होगा तो आपको ये भी समझना है कि कंप्यूटर कैसे ढूंढता है कंप्यूटर के पास हर मेमोरी का एक एड्रेस होता है लाखों करोड़ों जगहें होती हैं उसके पास चीजें सेव करने की और हर एक का एक एड्रेस होता है एड्रेस का क्या मतलब है देखिए आपके मोहल्ले में अगर आपका घर किसी को ढूंढना हो तो किस तरह से ढूंढता है अगर आप कोई चिट्ठी भेजते हैं अपने नाम पर अपना एड्रेस देते हैं एड्रेस मतलब भारत में इतने सारे घर हैं बेस्ड ऑन आपका एक वो दो लाइन का जो एड्रेस होता है उसके बेसिस पर हर एक घर को यूनिक ढूंढा जा सकता है इसी तरह से यहां मेमोरी का भी एड्रेस होता है लाखों करोड़ों मेमोरी की जगहें होने के बाद भी कंप्यूटर के पास आपका एक छोटा सा वेरिएबल कहां पड़ा हुआ है उसको उस मेमोरी के एड्रेस से ढूंढा जा सकता है तो एड्रेस होगा उस मेमोरी एड्रेस पर एक नाम रखा जाएगा कि भाई इस वेरिएबल का ये नाम बोला है आपने जो भी नाम बोला हो यहां आपने बी बोला है तो बी रख दिया जाएगा ए बोला है तो ए रख दिया जाएगा और वो जगह आपके लिए खाली कर दी जाए आप जब भी वेरिएबल की वैल्यू असाइन करेंगे जैसे हमने यहां तुरंत असाइन कर दिया तो पांच तुरंत इसके अंदर लिख दिया जाएगा अगर आपने अभी कुछ भी नहीं लिखा है तो उसको अभी खाली छोड़ देंगे जब भी आप वैल्यू उसकी डालेंगे तो वैल्यू यहां पर आपको मिल जाएगी ठीक है तो मेमरी एलोकेशन हमको समझ आ गया डिक्लेरेशन हमने अभी देखा क्या-क्या तीन चीजें पहला होगा डेटा टाइप है ना सबसे पहले हम देखेंगे कि डेटा टाइप क्या है दूसरा होगा वेरिएबल का नाम जरूरी नहीं ए बी सीडी रखें एक्चुअली ए बी सीडी रखना ही नहीं चाहिए नाम ऐसा रखिए ताकि आपको याद रहे मान लीजिए आप किसी यूजर की एज सेव कर रहे हैं तो वेरिएबल का नाम एज ही रखें ताकि जब आप प्रोग्राम कोई पढ़ रहा है तो समझ तो आई कि अच्छा यहां पर ये एज सेव करने की कोशिश कर रहा है या इन मैं कहता हूं आप भी 6 महीने बाद अपना प्रोग्राम पढ़े तो आपको याद आए अच्छा मैं तो एज सेव कराने की कोशिश कर रहा हूं है ना तो वेरिएबल का नाम ऐसा रखें जो थोड़ा सा मीनिंगफुल हो समझ आए इक्वल टू लगाकर आपने वैल्यू दे दी 20 तो देखिए रम के अंदर क्या होगा एक वेरिएबल रिजर्व कर दिया जाएगा एज नाम का और उसके अंदर आपकी 20 वैल्यू यहां पर रख दी जाएगी ठीक है तो अब हमको वेरिएबल का नाम तो समझ आ गया वेरिएबल की वैल्यू समझ आ गई ये इंट हमने समझ तो लिया कि इंटी जर है पर इसका मतलब क्या है है ना इसका मतलब क्या है ये देखते हैं डेटा टाइप में तो इनको दोस्तों बोला जाता है डटा टाइप्स और कौन-कौन से डाटा टाइप्स होते हैं हमारे अगर हम सी लैंग्वेज की बात करें तो सी में कौन-कौन से डाटा टाइप्स होते हैं कैरेक्टर यानी एक तो आप सिंगल कैरेक्टर रख सकते हैं कैरेक्टर मतलब इंग्लिश का जैसे अल्फाबेट या मैथ का अल्फाबेट कोई भी एक सिंगल अगर अगर मैं बात करूं सिंगल अक्षर जिसको बोलते हैं अक्षर भी नहीं हां सिंगल अक्षर जिसको बोलते हैं वही यानी अगर मैं सिर्फ ए बी सीडी इनमें से कोई एक चीज स्टोर करना चाह रहा हूं किसी चीज के लिए तो मैं उसके लिए क्या यूज़ कर सकता हूं कैरेक्टर यूज कर सकता हूं और उसका साइज क्या होता है उसका साइज होता है एक बाइट तो आपको ये समझ आना चाहिए मिनिमम मेरी मेमोरी एलोकेशन जो सी में किया जाता है वो एक बाइट का किया जाता है और एक बाइट में कितने बिट्स होते हैं आठ बिट्स यानी एक बाइट के अंदर कितनी मेमोरी छोटी-छोटी मेमोरी लोकेशन होंगी आठ छोटी-छोटी मेमोरी लोकेशन होंगी जिनके अंदर 10 10 10 रखा जा सकता है होता क्या है कोई भी आपके पास अगर कैरेक्टर है ए बी सीडी उसको जब हम बाइनरी में कन्वर्ट करते हैं अगर ये हिस्सा बहुत ज्यादा समझ नहीं आ रहा तो बहुत डिटेल में नहीं समझना है मैं बस आपको बताने की कोशिश कर रहा हूं कि अगर उसको बाइनरी में कन्वर्ट कर करते हैं ये तो समझ आता है कि कंप्यूटर में हर चीज़ कैसे सेव होती है 10 10 इससे पहले भी सीखा था तो हम चाहे कैरेक्टर रख रहे हैं चाहे नंबर्स रख रहे हैं चाहे स्ट्रिंग्स रख रहे हैं अभी आगे चलके देखेंगे कोई भी हम हम रियल नंबर्स रख रहे हैं हम जो भी रख रहे हैं सब कुछ कैसे स्टोर होने वाला है अंदर जाकर 01 01 01 की फॉर्म में कन्वर्ट होकर ही स्टोर होने वाला है तो यहां कैरेक्टर क्या होता है कोई भी अगर आपका सिंगल कैरेक्टर है तो उसको एक बाइट में ही 01 01 में कन्वर्ट किया जा सकता है कैसे इनको हम हमेशा मैथ में वैल्यूज दे देते हैं -18 टू 127 और उसमें कैरेक्टर जो है वो स्टोर हो जाता है शॉर्ट मतलब कई बार ऐसा होता है कि बहुत छोटा नंबर रखना है इंटी जजर रखने की जरूरत नहीं है इंटी जर काफी बड़ा होता है यानी अगर आपके पास कोई नंबर - 32000 से 32000 तक की लिमिट के अंदर है तो आप कौन सा डटा टाइप यूज़ कर सकते हैं शॉर्ट यूज़ कर सकते हैं अगर आपका नंबर स्टैंडर्ड है काफी बड़ा है यानी 2147 4836 48 से यहां तक ये बेसिकली दूसरे वाला जो नंबर है यहां तक है तो उसके लिए हम क्या यूज़ करेंगे इंटी जर यूज़ करेंगे लॉन्ग यूज़ करेंगे अगर बहुत ही बड़ा नंबर है तो उसके लिए लॉन्ग लॉन्ग भी इस्तेमाल किया जा सकता है ठीक है तो अगर लॉन्ग लॉन्ग इस्तेमाल कर रहे हैं तो उसके लिए हम यूज़ करेंगे ये फ्लोट क्या होता है फ्लोट है हमारा जो डेसीमल वाला नंबर होता है रियल नंबर जो होता है यानी पॉइंट के बाद भी कोई नंबर है तो देखिए बोल रहा है क्या 3.4 e की पावर माइनस या + 38 तक अगर आपको नंबर रखना है तो फ्लोट रखेंगे और बहुत ही बड़ा नंबर रखना है तो उसके लिए डबल आप यूज़ कर सकते हैं पावर देखिए कहां पहुंच गई है 38 से 308 तक पहुंच गई है साइज किस तरह से वैरी हो रहे हैं शॉर्ट में चाहिए दो बाइट इंटी जर लॉन्ग में चाहिए चार चार बाइट लॉन्ग लॉन्ग में चाहिए आठ बाइट फ्लोट में चाहिए चार बाइट डबल में चाहिए आठ बाइट ठीक है तो ये क्या क्या हो रहा है इतना जो है साइज आपका यहां पर बढ़ता दोस्तों जा रहा है अभी देखिए क्या होता है अगर आप यहां पर देखेंगे लॉन्ग देखिए कुछ यहां पर क्या लिखा हुआ है सीपीयू के बेस पर भी डिपेंड करता है यानी अगर आपका सीपीयू 32 बिट है या 64 बिट है अगर आपका सीपीयू 32 बिट है तो देखिए लॉन्ग कितना ले रहा है चार बाइट ले रहा है बट अगर आपका सीपीयू 64 बिट है यानी 64 बिट है तो लॉन्ग कितना ले रहा है आठ बाइट ले रहा है और रेंज भी आपकी देखिए क्या हो जा रही है बड़ी हो जा रही है है ना तो आपको कई बार सी में ये भी बात होती है कई बार सिस्टम पर भी डिपेंड करता है कि क्या होगा कि इनका साइज क्या होगा तो इनको र मारने की जरूरत नहीं कोई याद करने की जरूरत नहीं है बस आपको मोटा-मोटा क्या होना चाहिए समझ आना चाहिए कि बहुत छोटा है तो मैं शॉर्ट से काम चला लूंगा नंबर मेरा नॉर्मल नंबर लेना है तो आईटी सबसे ज्यादा यूज होता है मैं इंटी जर से काम चला लूंगा अगर मुझे एक्सप्लीसिटली पता है कि नंबर बहुत बड़ा होने वाला है तो मैं लॉन्ग रख लूंगा है ना और अगर नंबर मेरे डॉट वाले होने वाले हैं तो फ्लोट या डबल में इस्तेमाल कर सकता हूं तो ये होंगे मेरे डाटा टाइप्स तो अगर सी के हम डेटा टाइप्स की बात करेंगे तो किस-किस तरह के डेटा टाइप्स होते हैं बेसिकली तीन तरह के डेटा टाइप माने जाते हैं एक होता है यूजर डिफाइंड डेटा टाइप एक होता है फंडामेंटल डेटा टाइप और एक होता है डिराइवर डेटा टाइप तो हमने जो पढ़े वो पढ़े हमने फंडामेंटल डेटा टाइप फंडामेंटल डेटा टाइप कौन-कौन से इंटी जर टाइप का हो सकता है वॉइड टाइप का हो सकता है फ्लोट टाइप का हो सकता है अभी देखिए इंटी जर में ये ओबवियसली एग्जॉस्ट इव लिस्ट नहीं है यहां शॉर्ट भी हो सकता है लॉन्ग भी हो सकता है है ना पर ये मोटा-मोटा आपको दिखाने की कोशिश कर रहा है वॉइड का क्या मतलब है कुछ जगह ऐसी होती है जहां पर हमको ये बोलना पड़ता है कि यहां कोई भी डेटा टाइप नहीं होने वाला है वेरिएबल के लिए यूज नहीं होता है बट मेथड के लिए आप देखेंगे आगे चलके हम इसको यूज करेंगे तो अभी मत समझिए अभी इसमें दिमाग लगाने की जरूरत नहीं है बट आगे चलके हम देखेंगे वॉइड भी यहां पर क्या होता है है ना और जब हम थोड़े एडवांस कांसेप्ट में जाएंगे तब हम ये बेसिकली पहले डाटा स्ट्रक्चर्स पढ़ेंगे एरे फंक्शन पॉइंटर किस तरह से बनाए जाते हैं और जब हम उससे भी ज्यादा आगे जाएंगे तो हम देखेंगे स्ट्रक्चर यूनियन इनम यानी कॉम्प्लेक्टेड हो वैसे मैं एक्सपेक्ट कर रहा हूं मोस्टली लोग जो सी पढ़ रहे हैं उन्होंने अभी जावा नहीं पढ़ा है बट अगर सुना है कुछ देखा है तो ऑब्जेक्ट्स जैसे बेसिकली जावा में होते हैं बाकी ऑब्जेक्ट ओरिएंटेड लैंग्वेजेस के अंदर होते हैं ऐसे यहां पर हम स्ट्रक्चर यूनियन वगैरह बना सकते अगेन ये सिर्फ गुड बेसिकली गुड टू नो है अभी आपके कानों में से निकालने के लिए इसमें से कुछ याद नहीं करना है कुछ याद नहीं रखना है बस ये समझना है कि इस टाइप के डाटा टाइप सी में किए जाते हैं सी में होते हैं ठीक है तो डेटा टाइप तो हमको समझ आ गया अगर मैं वापस वेरिएबल डिक्लेरेशन पर आपको लेकर चलूं तो देखिए जो पहला पॉइंट था ये तो मेरे को समझ आ गया है ना नाम ये तो बस नाम ही रखना है पर देखिए इसमें भी थोड़ी सी रूल्स हैं थोड़ी सी गाइडलाइंस हैं गाइडलाइंस क्या हैं बेसिकली नाम अगर आपको रखना है तो नेमिन के कुछ-कुछ कन्वेंशन होते हैं कन्वेंशन मतलब कि नाम मैं किस तरह से रखूंगा तो पहले हम कन्वेंशन समझते हैं इन जनरल प्रोग्रामिंग में क्या-क्या कन्वेंशन होते हैं उसके बाद जाएंगे कि सी स्पेसिफिक जब हम सी प्रोग्रामिंग कर रहे हैं तब कौन-कौन से कन्वेंशन जो है वो यूज किए जाते हैं है ना तो अगर मैं सबसे पहले यहां बात करूं अ एक केसिंग की इसको क्या बोला जाता है केसिंग बोला जाता है जैसे अगर ये मैं आपको बता दूं अगर मान लीजिए जैसे हम छोटे थे और कोई ये मजाक चला करता था कि भाई ए बी सीडी सुना दो तो बच्चा पूछता था कि सर छोटी एबी सीडी सुनाऊं या बड़ी ए बी सीडी भाई सुनाने में तो एक ही है पर यहां क्या पॉइंट है सुनाने में एक ही है लिखने में अलग-अलग है यानी नहीं अगर मैं यहां लिखूं ए b सडी ये बड़ी है छोटी लिखूं तो क्या होगा ए b सडी इसको इंग्लिश में क्या बोला जाता है इसको बोला जाता है अपर केस लेटर्स अपर केस मतलब बड़े केस लेटर्स और ये जो छोटे वाले हैं छोटी ए बी सीडी है इसको क्या बोला जाता है लोअर केस लेटर्स तो हम क्या करते हैं इनके कॉमिनेशन बनाते हैं वेरिएबल के नाम रखने के लिए तो कैमिल केस क्या बोलता है यानी अगर आप ऊंट को इमेजिन करें ऊंट में क्या क्या होता है कूबड़ होती है कई बार मल्टीपल कबड भी होती है यानी बार-बार ऊपर जाता है नीचे आता है ऊपर जाता है नीचे आता है तो कैमल केस क्या बोलता है आपके वेरिएबल का नाम स्टार्ट होना चाहिए लोअर केस लेटर से एंड उसके बाद आपको कैपिट आइज करना है फर्स्ट लेटर ऑफ ईच सब्स क्वेंट वर्ड यानी हर अगले वर्ड का पहला लेटर आप कैपिटल करते जाइए देखिए ये सारी दिक्कत शुरू कहां से हो रही है ये दिक्कत शुरू यहां से हो रही है कि आप वेरिएबल के नाम के बीच में स्पेस नहीं डाल सकते अगर आप स्पेस डाल देंगे तो उसको लगेगा आप कुछ और लिख रहे हैं आपने लिखा इंटी जर a स्पेस b तो उसको ये समझ नहीं आएगा आप नाम a स्पेस b नहीं लिख सकते है ना तो स्पेस वेरिएबल के नाम में अलाउड नहीं है तो अगर बड़ा मेरे को नाम रखना है क्या बेसिकली बहुत सारे वर्ड्स कंबाइन करने हैं तो कैसे कंबाइन करें कि पढ़ने में आसान रहे तो हम क्या करते हैं देखिए जैसे यहां बोला मैंने मैं अपने वेरिएबल का नाम रखना चाहता था माय वेरिएबल नेम तो मैंने क्या बोला पहला एम भी स्मॉल होगा माई मैंने स्मॉल में लिखा उसके बाद हर बेसिकली पूरे वर्ड का वेरिएबल और नेम में मैंने v कैपिटल कर दिया और n कैपिटल कर दिया तो देखिए थोड़ा आसानी से पढ़ने में आ रहा है माय वेरिएबल नेम क्योंकि मुझे पता चल रहा है कहां मेरी वर्ड बाउंड्रीज एजिस्ट करती हैं तो बिना स्पेस के भी मैंने क्या किया एक मल्टी वर्ड अपना नाम में रख पाया इसको बोला जाता है कैमल केसिंग कैमल केसिंग मतलब हर अगले वर्ड का पहला जो लेटर है उसको क्या कर देंगे कैपिटल कर देंगे बाकी सब कुछ स्मॉल में रखेंगे दूसरा क्या बोला जाता है दूसरा होता है स्नेक केस स्नेक क्या करता है स्नेक केस में आप सब कुछ स्मॉल लेटर्स में रखते हैं और बीच में उनको जोड़ने के लिए क्या लगा देते हैं अंडरस्कोर लगा देते हैं अंडरस्कोर अलाउड होता है ये जो नीचे वा देखिए डैश नहीं है डैश बीच में लगता है ये है अंडरस्कोर यानी ये नीचे की तरफ लगता है अगर आप देखेंगे आपके कीबोर्ड पर प्लस के जो बगल वाला साइन है उसको शिफ्ट के साथ दबाए तो क्या आ जाएगा अंडरस्कोर आ जाएगा तो माय अंड वेरिएबल अंडर नेम ये किस तरह की नेमिन कन्वेंशन हुई ये हुई स्नेक के नेमिन कन्वेंशन एक होता है कबाब केस कबाब केस क्या है देखिए हर लैंग्वेज में सारे अलाउड नहीं होते हैं है ना वो हम देखेंगे अभी मैं आपको बस ये बता रहा हूं कि कौन-कौन से नेमिन कन्वेंशंस एजिस्ट करते हैं प्रोग्रामिंग में कबाब केस क्या बोलता है कबाब केस बोलता है कि अंडरस्कोर की जगह हाइन या डैश जो है उससे कंबाइन कर दीजिए तो देखिए इसने कैसे लिखा माय हाइन हाइ फन डैश है ना माय हाइन या डैश कुछ भी बोल सकते हैं इसको या माइनस साइन हैय माय हाइन वेरिएबल हाइन नेम ठीक है तो हाइन से आपने कंबाइन कर दिया तो ये तीन तरह की केसिंग जनरल आपको देखने के लिए मिलती है हम यहां क्या बोल रहे हैं और कीप अ गुड एंड शॉर्ट नेम ये आपको याद रखना है कि अगर एग्जैक्ट डेफिनेशन पढ़े तो क्या बोलता है चूज नेम्स दैट आर डिस्क्रिप्टिव यानी जिनसे समझ आए कि क्या है थोड़ा डिस्क्रिप्शन पता चले बट नॉट टू लॉन्ग ऐसा भी नहीं हो कि एसे ही लिख दिया पूरा एक वेरिएबल के नाम में इट शुड मेक इट इजी टू अंडरस्टैंड द वेरिएबल पर्पस बस आपका वो ऑब्जेक्टिव क्या है ऑब्जेक्टिव यह है कि वेरिएबल का काम क्या है वेरिएबल का पर्पस क्या है ये वेरिएबल का नाम पढ़ के मेरे को समझ में आ जाए तो एग्जांपल्स क्या है मान लीजिए एज है अगर एक वर्ड में काम चल रहा है तो बहुत अच्छी बात है या अगर किसी का फर्स्ट नेम रखना है जैसे मेरा नाम अगर फर्स्ट नेम प्रशांत किसी को सिर्फ सेव करना हो तो क्या वेरिएबल का नाम रख सकते हैं फर्स्ट अंडर नेम कोई शादीशुदा है या नहीं ये सेव करना है तो क्या कर देंगे इज मैरिड अब इसकी वैल्यू ट्रू हो सकती है फाल्स हो सकती है वन जीरो हम जिस तरह से भी रख सकते हैं उस तरह से इसकी वैल्यू हम रख पाएंगे ठीक है तो ये हुई दोस्तों नेमिन कन्वेंशन उसके बाद आते हैं आइडेंटिफिकेशन स्पेसिफिक रूल्स हैं जो आप आइडेंटिफिकेशन हैं जो आप कोई आईडेंटिफायर आईडेंटिफायर मतलब नाम रखते हुए कोई भी नाम रखते हुए यूज कर सकते हैं वेरिएबल का क्या बोलता है ये द ओनली अलाउड कैरेक्टर्स फॉर आइडेंटिफिकेशन लगा ने के लिए जो कि सी आइडेंटिफिकेशन इसका मतलब क्या है मान लीजिए कोई औरत कोई कोई महिला हमारे यहां अपना नाम क्या रख लेती है अपना नाम रख लेती है श्रीमती है ना तो अब देखिए कितना कंफ्यूजन होगा उनका नाम जहां भी लिखना होगा वहां लिखना पड़ेगा श्रीमती श्रीमती है ना तो कोई पूछेगा आपका आपकी मदर का नाम क्या है उनके बच्चे से तो बोलेगा श्रीमती बोलेगा आगे तो बोलो कि नहीं सर श्रीमती तो आप समझ रहे यानी हो क्या रहा है हो ये रहा है कि कुछ चीजें ऐसी हैं जो एज नाम नहीं रखने चाहिए वरना कंफ्यूजन फैल सकता है तो सी भी यही बोलता है कि मेरे कुछ कैरेक्टर्स ऐसे हैं कुछ कीवर्ड्स ऐसे हैं जो मैंने अपने आप अपने पास रखे हैं मेरे रिजर्व्ड वर्ड्स हैं इनको आप नाम में इस्तेमाल नहीं करेंगे वरना मैं टोटल कंफ्यूज हो जाऊंगा ठीक है अगला रूल क्या है शुड नॉट स्टार्ट विद अ डिजिट यानी डिजिट आप इस्तेमाल तो कर सकते हैं बट पहला कैरेक्टर आपके नाम का डिजिट नहीं होना चाहिए सी आइडेंटिफिकेशन अगर केस आपने चेंज कर दिया केस मतलब बड़ा या छोटा कर दिया तो अलग-अलग वेरिएबल समझे जाएंगे उसके अलावा क्या बोलता है देयर इज नो लिमिट ऑन द लेंथ ऑफ आइडेंटिफिकेशन एडवाइज किया जाता है कि 4 से 15 लेटर के बीच का ही आप जो वेरिएबल का नाम है वो रखें तो देखिए यहां पर हमारे पासस कुछ एग्जांपल्स हैं अगर मैं बात करूं 1 ए बी स ये क्या वैलिड आइडेंटिफिकेशन नाम है फर्स्ट स्पेस सेकंड क्या ये नाम रखा जा सकता है नहीं क्यों क्योंकि स्पेस अलाउड नहीं है सिर्फ a टू ज a टू ज 0 टू 9 एंड अंडर ही नाम के बीच में अलाउड है क्या अ 1a अलाउड है हां यह बिल्कुल अलाउड है क्योंकि सिर्फ नंबर से स्टार्ट नहीं करना है अंडरस्कोर से आप स्टार्ट कर सकते हैं उसके बाद आप नंबर और कैरेक्टर दोनों इस्तेमाल कर सकते हैं क्या सिर्फ टू नाम रखा जा सकता है नहीं अगेन हम नंबर से स्टार्ट नहीं कर सकते a है c क्या नाम रखा जा सकता है नहीं हैश एक स्पेशल कैरेक्टर है जो अलाउड नहीं है ओनली स्पेशल कैरेक्टर दैट इज़ अलाउड इज़ अंडरस्कोर फर्स्ट हाइन सेकंड रख सकते हैं क्या नहीं यह भी नहीं रख सकते अगेन क्यों हाइन अलाउड नहीं है सिर्फ अंडरस्कोर अलाउड है तो आप इस तरह की एक्सरसाइजस कर सकते हैं थोड़ा समझ सकते हैं आपको धीरे-धीरे समझ आ जाए कि सी आइडेंटिफिकेशन डेटा टाइप्स रख देते हैं इसका नाम और आप याद रखिएगा हम यहां जो भी लिखते जा रहे हैं वो सब आपको कहां मिलेगा गिट हब पर मिल जाएगा लिंक मिलेगा नीचे मान लीजिए मैं नाम रख देता हूं वेरिए बल्ड स ठीक है मैंने नाम रख दिया वेरिएबल ड स उसके बाद यहां आकर एक एक प्रोग्राम लिख लेते हैं बेसिकली कैसे लिखेंगे पहले हैश इंक्लूड एडीओ ए है ना उसके बाद इंट मेन ये मेरा बेसिक स्ट्रक्चर जो है वो बन गया अब इसके बाद मैं यहां पर वेरिएबल डिक्लेयर करने की कोशिश करना चाहता हूं तो मान लीजिए मैंने लिखा इंट a इ 5 देखिए यहां तो कोई एरर नहीं आई एक बार मैं इसको चलाकर देख लेता हूं इसके बाद एक प्रिंट स्टेटमेंट डाल देते हैं क्या प्रिंट f जरा एक नंबर हमको प्रिंट करना है तो क्या कर देंगे परसेंटाइल डी लगा देंगे और यहां क्या बोलते हैं कि भाई a की वैल्यू आप यहां पर प्रिंट कर दीजिए अब इसको एक बार चलाकर देख लेते हैं रन कोड मैंने किया देखिए यहां क्या प्रिंट हो गया है फाइव यहां पर प्रिंट मेरा हो गया है है ना यह जो आउटपुट है इसको एक बार थोड़ा राइट में ले जाते हैं है ना देखिए हम क्या कर सकते हैं व्यू अपीयरेंस इसको क्या बोला जाता है पैनल तो पैनल की पोजीशन हम कर देते हैं राइट में तो देखिए क्या होगा हमारा हम प्रोग्राम यहां पर लिखते रहेंगे आउटपुट यहां आता रहेगा तो देखिए मैंने यह लिखा तो क्या आ गया आउटपुट यहां पर फाइव आ गया बहुत अच्छी बात है जरा दूसरा वेरिएबल हम डिक्लेयर करके देखते हैं फ्लोट है ना हम फ्लोट भी एक डाटा टाइप था फ्लोट का वेरिएबल डिक्लेयर कर सकते हैं मैं नाम रखता हूं आउट बस मैं अभी कोई वेरिएबल वेरिएबल की वैल्यू नहीं देना चाहता देखिए क्या हुआ जो एरर आ भी रही थी वह हट गई अगर मैं इसका नाम रख दूं टू फ्लो टू आउट है ना तो क्या होगा मैंने जब इसका नाम रख दिया टू आउट तो देखिए क्या दिखा रहा है एरर दिखा रहा है एरर क्या है एक्सपेक्टेड एन आइडेंटिफिकेशन लगाकर क्या लिख दूं h य तो क्या है वैलिड आईडेंटिफायर है नहीं देखिए दोबारा से यहां पर एरर आने लगी है ये क्या बोल रहा है इसको ये बोल रहा है भाई इसके बाद ही जो है सेमीकलन लगा दो आपका ये खत्म खत्म हो गया आप कुछ ग गड़बड़ यहां करने की कोशिश कर रहे हैं तो आपको बेसिकली समझना क्या है कि याद रखने की जरूरत नहीं है आप जब भी नाम गलत करने की कोशिश करेंगे तो क्या करेगा कंपाइलर आपको सचेत कर देगा कि भाई नाम ये ये जो आइडेंटिफिकेशन सिंटेक्स मेरा क्या था देखिए डेटा टाइप्स हमने देख लिए अलग-अलग तरह के फ्लोट का भी हमने डिक्लेरेशन देख लिया किस तरह से करते हैं कैरेक्टर किस तरह से करते हैं किस-किस तरह के डेटा टाइप्स हो सकते हैं अगेन अभी बहुत ज्यादा याद रखने की इनको जरूरत नहीं है जैसे-जैसे धीरे-धीरे इस्तेमाल करेंगे हमारे पास अलग-अलग यूज केस आएंगे तो आपको समझ आ जाएगा अभी के लिए बस इतना समझना है कि डेटा टाइप होता है इंटी जर जनरली हम यूज़ करते हैं अभी यहां पर बेसिक प्रोग्रामिंग के लिए और उसको यहां इस तरह से यूज़ किया जाता है वेरिएबल डिक्लेरेशन में सबसे पहले डेटा टाइप देना होता है उसके बाद वेरिएबल का नाम यानी इसको क्या बोलते हैं आइडेंटिफिकेशन अगर आप तुरंत वैल्यू देना चाहते हैं और उसके बाद देनी पड़ती है एक्चुअल वैल्यू अब ये वैल्यू का क्या क्या मतलब है अब करते हैं इस पे थोड़ा सा डबल क्लिक यानी इस पे झांक कर इसको देखते हैं तो इसको क्या बोला जाता है दोस्तों इनको बोलते हैं लिटरल्स है ना क्या बोलते हैं इनको बोलते हैं लिटरल लिटरल मतलब क्या होगा इंटी जर लिटरल क्या है 0 1 2 3 हमने जैसे डायरेक्टली अभी क्या वैल्यू असाइन की 20 वैल्यू असाइन कर दी तो ये होगा इंटी जर लिटरल फ्लोट लिटरल मतलब अगर पॉइंट वाला डेसीमल वाला नंबर है तो 0.1 0.2 5.8 कुछ भी मान लीजिए मैंने एक वेरिएबल डिक्लेयर किया क्या मैंने लिखा फ्लोट एफ एल ओ एटी उसके बाद मैंने लिख दिया पाई मान लो पाई मेरे को डिक्लेयर करना है तो पा = 3.14 सेमीकलन लगा दिया है ना तो ये मैंने एक डिक्लेरेशन कर दिया है फ्लोट मेरा डेटा टाइप हो गया पाई मेरा क्या हो गया आइडेंटिफिकेशन का क्या मतलब होगा एक्चुअल वैल्यू जहां पर आपने यूज़ कर दी वो होगा लिटरल कैरेक्टर लिटरल क्या होगा देखिए कैपिटल ए हो सकता है बी सी कुछ भी यहां पर इवन अगर मैं नाइन कहीं पर लिख दूं ये नाइन इस तरह से आ रहा है अगर मैं सिंगल कोड्स में इसको लिख दूंगा जैसे कैरेक्टर लिटरल्स को लिखा जाता है तो क्या माना जाएगा वो एक कैरेक्टर माना जाएगा और स्ट्रिंग लिटरल क्या होता है स्ट्रिंग लिटरल जो आप डबल कोट्स में देंगे वो हो जाएगा स्ट्रिंग लिटरल ठीक है तो ये लिटरल है इसमें बहुत ज्यादा और कुछ समझने की जरूरत नहीं है डीप में जाने की जरूरत नहीं है बस यही आपका लिटरल होता है आपको नेमिन कन्वेंशन जो है वो पता होना चाहिए उसके बाद आ जाते हैं दोस्तों कांस्टेंट्स पे है ना यह भी थोड़ा इंपॉर्टेंट पॉइंट है अभी जैसे हमने पाई का एग्जांपल लिया था पाई का ही एग्जांपल हम यहां पर भी ले सकते हैं कांस्टेंट का मतलब क्या है देखिए प्रोग्राम में एक तो हो गया वेरिएबल वेरिएबल का मतलब क्या है वेरिएबल का मतलब ही यह है कि इसकी वैल्यू आप कितनी बार भी चेंज कर सकते हैं यानी अगर मैं वापस आपको प्रोग्रामिंग में दिखाऊं मैंने यहां इंट की वैल्यू a की वैल्यू पांच दी उसके बाद वैल्यू प्रिंट कर दी मैं क्या कर सकता हूं उसके बाद बोल सकता हूं यार एक काम करो उसी मेमोरी लोकेशन पर यानी a क्या है एक एक मेमोरी लोकेशन है मैंने एक वेरिएबल रखा हुआ है उसकी वैल्यू सिक्स कर दो है ना उसके बाद मैं मान लीजिए इसको दोबारा प्रिंट करने की कोशिश करूं मैंने दोबारा इसको प्रिंट कर दिया इस बार इसको चला कर देखते हैं देखिए जैसे ही मैं चलाऊंगा इस बार क्या होगा फ 56 प्रिंट हो गया क्योंकि लग रहा है 56 बट मैं क्या करूंगा यहां पर अगर स्पेस दे दूं फिर से एक बार इसको चलाकर दिखाऊं तो क्या होगा देखिए क्या प्रिंट हो रहा है एक बार फाइव प्रिंट हो रहा है एक बार सिक्स प्रिंट हो रहा है है ना तो यानी उसी वेरिएबल की वैल्यू यहां पर चेंज हो रही है तो वेरिएबल का इनका नाम वेरिएबल क्यों रखा गया देखिए वेरिएबल मतलब जो चीज चेंज होती रह सकती है वेरिएबल का मतलब ये है तो अगर मुझे मैंने एक प्रोग्राम में अपनी एक मेमोरी लोकेशन ली है वहां मैं कुछ भी वैल्यू बेसिकली चेंज करते रह सकता हूं बट कई बार ऐसा होता है प्रोग्रामिंग में कि आपको ऐसी वैल्यू चाहिए जो चेंज ना हो पाए पूरे प्रोग्राम में अब मान लीजिए हमने अभी पाई डिक्लेयर किया पाई की वैल्यू हमने 3.14 डिक्लेयर की क्या आप ये चाहते हैं कि प्रोग्राम में गलती से ही सही कोई पाई की वैल्यू चेंज कर दे भाई पाई की वैल्यू तो चेंज हो ही नहीं सकती पाई की वैल्यू तो हमेशा 3.14 ही रहने वाली है है ना या मान लीजिए आप कोई प्रोग्राम बना रहे हैं कि यार कितने साल से ऊपर के बच्चे को ड्राइविंग लाइसेंस मिलना चाहिए तो वो एज मान लीजिए 18 है क्या आप चाहते हैं कि कोई हैक करके इधर-उधर करके वो वैल्यू कम कर ले और अपना लाइसेंस निकाल ले 16 साल की उम्र में नहीं तो कुछ चीजें ऐसी आप चाहते हैं कुछ वैल्यूज ऐसी आप चाहते हैं जिनकी वैल्यू कभी भी चेंज ना हो पाए वो वेरिएबल नहीं है वो क्या है वो कांस्टेंट्स हैं जैसे हम मैथ में बहुत जगह कांस्टेंट्स यूज़ करते हैं फिजिक्स में कांस्टेंट्स यूज़ करते हैं तो हम चाहते हैं कि वो कांस्टेंट वैल्यू रहे तो अगर आप कांस्टेंट डिक्लेयर करना चाहते हैं तो उसका सिंटेक्स क्या है देखिए बाकी तो एगजैक्टली वेरिएबल डिक्लेरेशन ही है यानी क्या दिया हमने डटा टाइप दिया हमने बेसिकली जो हमारा आइडेंटिफिकेशन है सीओ एटी ये देखिए सी थोड़ा बड़ा वाला लग रहा है पर सी बड़ा नहीं छोटा ही है यानी सीओ एटी आप लगाएंगे तो क्या हो जाएगा वो वो एक कांस्टेंट बन जाएगा यानी उसके बाद अब इस वेरिएबल की वैल्यू कोई चेंज नहीं कर सकता दूसरी कंपलसरी चीज क्या है दूसरी कंपलसरी चीज ये है क्योंकि इसकी वैल्यू बाद में चेंज नहीं हो सकती एक ही बार आपको देनी है आपको ये वैल्यू यहां पर देना कंपलसरी है नॉर्मल वेरिएबल में मैं क्या कर पा रहा था मान लीजिए ये मेरा वेरिएबल था फ्लैट आउट आउट मैंने पहले डिक्लेयर किया और यहां अब मैंने इसकी वैल्यू दे दी मान लीजिए मैं इसकी वैल्यू दे रहा हूं 9.9 है ना तो ये मैं दे सकता हूं आउट मेरा वेरिएबल है मैं कहीं पर भी पहले उसको डिक्लेयर करूं डिक्लेयर मतलब मैंने बताया भाई फ्लोट नाम फ्लोट टाइप का एक आउट नाम का वेरिएबल डिक्लेयर कर लो बस रख लेना मैंने बहुत बाद में जब मुझे इस्तेमाल करना था मैंने बोला भाई आउट इ इक्वल ू 9.9 वहां मैंने इसको इस्तेमाल कर लिया तो ये फाइन है बट अगर मैं इसको कांस्टेंट्स बनाना चाहूं यानी अगर मैं यहां पर एक कांस्टेंट डिक्लेयर कर रहा हूं मैं मान लीजिए लिखता हूं हम क्या लिख रहे थे कंस्ट इंट या पाई तो फ्लोट होगा मान लीजिए फ्लोट पा = 3.1 4 यह मैंने डिक्लेयर कर दिया तो यहां क्या होगा यहां मुझे वैल्यू यहीं पर डिक्लेयर बेसिकली डिक्लेरेशन में ही देनी पड़ेगी उसके बाद अगर मैं क्या करता हूं मान लीजिए प्रोग्राम के बीच में गलती से मैं बोल देता हूं यार पाई की वैल्यू जरा 4.56 कर दीजिए देखिए क्या हो गया यहां पर एरर आ गया अगर चलाकर भी देखेंगे यहां पर भी आपको एरर दिख जाएगा है ना जरूरी नहीं आपके यहीं पर दिखे बेसिकली यहां पर तो ये वेरिएबल एरर दिखा ही रहा है देखिए क्या बोल रहा है एक्सप्रेशन मस्ट बी अ मॉडिफाइड एल वैल्यू यानी ये क्या बोल रहा है भाई आपने कांस्टेंट डिक्लेयर किया है वेरिएबल पाई डिक्लेयर्ड कांस्टेंट हियर ये बोल रहा है भाई ऊपर आपने डिक्लेयर कांस्टेंट कर दिया है इसको अब मैं वैल्यू चेंज नहीं कर सकता ये वैल्यू यहां पर अब दोबारा चेंज नहीं हो सकती तो अगर आप इस टाइप से कोई भी वेरिएबल डिक्लेयर करना चाहते हैं जिसकी वैल्यू बाद में चेंज ना हो पाए उसके पहले आप क्या लगा सकते हैं स ए t लगा सकते हैं ये कांस्टेंट डिक्लेयर करने के भी एक्चुअली दो तरीके होते हैं दूसरा तरीका क्या है दूसरा तरीका देखिए यहां पर है किस तरह से आप कर सकते हैं हैश डिफाइन जैसे हम हैश इंक्लूड कर रहे हैं इसी तरह से आप कर सकते हैं हैश डिफाइन नाम दीजिए और उसके बाद एक्चुअल वैल्यू दे दीजिए एक दूसरी चीज आप हमेशा याद रखिएगा ये नेमिन कन्वेंशन है कि अगर आप कोई चीज कांस्टेंट डिक्लेयर कर रहे हैं ना तो उसको क्या करें पूरा का पूरा कैपिटल लिख दें यानी पाई को इस तरह से लिख दें प है ना और अगर मल्टीपल वर्ड्स हैं तो बीच में क्या लगा दें अंडरस्कोर लगा दें बट जब आप पूरा पीआई लगा देंगे तो उससे क्या होता है जो वेरिएबल पढ़ रहा है कहीं पर इस्तेमाल हो रहा है उसको समझ आ जाएगा भाई ये कांस्टेंट है इसकी वैल्यू छेड़छाड़ इसके साथ छेड़छाड़ नहीं करनी है जैसे अगर कोई हमारे यहां समझा जाता है कि भाई कोई है भाई इसका बड़ा भाई है जो मतलब बहुत मारता है बहुत बड़ा है तो क्या उससे कोई लड़ाई नहीं करता कि भाई इससे लड़ाई मत करो इसकी तो बहुत प बहुत बहुत ज्यादा पिटवा देगा है ना किसी के पिताजी पुलिस में उससे भी कोई ज्यादा बदतमीजी नहीं करता तो ये मान लीजिए जैसे ही यहां कोई क्या है बड़ा है कैपिटल है पूरा कैपिटल में है तो लोग देखते ही उसको समझ जाएंगे कि भाई ये कांस्टेंट है इसके साथ छेड़छाड़ अपने को नहीं करनी है है ना तो फिक्स्ड वैल्यूज इन सी दैट डू नॉट चेंज ड्यूरिंग एग्जीक्यूशन इनको बोला जाता है कांस्टेंट कांस्टेंट आर डिफाइंड या तो हैज डिफाइन करके यूज़ करिए या सीओ एनएसटी करके यूज़ करिए हैज डिफाइन में क्या करेंगे इंट मेन के बाहर आप क्या कर सकते हैं हैज डिफाइन कोई भी जैसे हमने यहां पाई डिक्लेयर किया है दोबारा से यहां डिक्लेयर कर लेते हैं मान लीजिए मैं बोलता हूं हैश डिफाइन और कोई कांस्टेंट ले लेते हैं मान लीजिए एज मुझे डिफाइन करना है तो मैंने बोला ए इ इक्वल ट 18 ठीक है तो क्या हुआ ये मेरा एक हैश डिफाइन करके एज डिफाइन हो गया अब मैं जहां भी एज यूज करूंगा वहां उसकी वैल्यू 18 आ जाएगी फर्क क्या है फर्क दोस्तों बस इतना है कि ये जो कांस्टेंट है ये तो हमेशा के लिए एक वेरिएबल आपके प्रोग्राम में बन जाता है और अगर हम इसकी बात करें काई की हैज डिफाइन की अगर हम बात करें तो क्या होता है हैज डिफाइन क्या करता है माफ कीजिएगा हैज डिफाइन जहां पर भी आपने लिखा यहां पर मान लीजिए आपने प्रोग्राम में लिखा पाई तो कंपाइलर क्या करता है पहली बार में ही पहले स्टेज में हमने देखा था कि प्री प्रीप्रोसेसर करता है जितने भी प्रीप्रोसेसर हैं हैश क्या माना जाता है हैश होता है प्रीप्रोसेसर डायरेक्टिव यानी ये बोल रहा है पहले ही प्रोसेस कर लो इनको तो कंपाइलेशन से पहले ही क्या होगा जहां-जहां पाई लिखा हुआ है उसकी जगह एक्चुअल वैल्यू यहां पर लिख दी जाएगी तो एक्चुअली ये क्या है ये बस आंखों का धोखा है झलक है होना क्या है आपका प्रोग्राम कंपाइल होने से पहले ही हर जगह वो वैल्यू जाकर चेंज कर देगा बस आपको हर जगह हाथ से 3.125 नहीं लिखना पड़ेगा इसका इतना ही फायदा है तो दोनों तरीके अच्छे हैं आप जिस तरह से भी चाहे उस तरह से इसको यूज कर सकते हैं फायदा क्या होता है इनका कोड रीडेबिलिटी बढ़ जाती है है ना कैपिटल से आप कंस्ट करके लिखते हैं सामने वाले को हमेशा पता रहता है जो कोड पढ़ रहा है कि भाई यहां पर इसने कांस्टेंट लिखा है और कांस्टेंट इ म्यूटेशंस कांस्टेंट्स हमको आ गए हैं समझ नेक्स्ट चीज क्या देखेंगे कीवर्ड जिसकी हमने पहले बात की थी ये कीवर्ड्स हैं कौन-कौन से य मैंने आपके नोट्स के लिए सारे के सारे कीवर्ड्स यहां पर लिख दिए हैं आपको ताकि याद रहे पर कीवर्ड का क्या मतलब था ये वो वर्ड्स हैं जिन जो हम एज नाम यूज़ नहीं कर सकते देखिए इनमें से कितनी सारी चीजें तो ऐसी हैं जो हम ऑलरेडी यूज़ कर चुके हैं देखिए सीआ आर ये हम यूज़ कर चुके हैं सीओए ये हम यूज़ कर चुके हैं देखिए कितनी दिक्कत हो जाएगी अगर ये जो सीओ एनएसटी है ये इसको पता ही ना हो कि सीओ एनएसटी का मतलब क्या है सीओ एनएसटी तो हो सकता है कोई वेरिएबल का नाम हो तो इसलिए इसने क्या बोला सीओ एनएसटी नाम मैंने अपने लिए रिजर्व कर लिया है सीओ एनएसटी नाम अब कोई भी नहीं रख सकता जैसे मुझे पता नहीं आपको पता या नहीं बट हिस्ट्री में ऐसा हुआ करता था बहुत सारे साम्राज्य में स्पेशली इंग्लैंड में जो राजा होते थे वो कि जो नाम राजा का है वो नाम अलाउड नहीं होता था कोई भी वो नाम नहीं रख सकता जो राजा का नाम है वो कोई नाम नहीं रख सकता ताकि कोई कंफ्यूजन ना फैले राजा का नाम हमेशा क्लियर रहे इसलिए यहां पर क्या है जो कीवर्ड है वो ये वो वर्ड्स हैं जिनको आप इस्तेमाल नहीं कर सकते तो इसने क्या बोला सीओ एनएसटी है चार है जो कि बेसिकली डेटा टाइप वो डिक्लेयर कर रहा है है ना इसमें स और हमने क्या देख लिया है डबल हमने देख लिया है फ्लोट हमने देख लिया है है ना इंट हमने देख लिया है लॉन्ग हमने देख लिया है रिटर्न हमने देख लिया कितने सारे देखिए ये वो है कीवर्ड्स हैं जो हम ऑलरेडी यहां पर यूज़ कर चुके हैं वॉइड भी हमने देख लिया है है ना धीरे-धीरे आप देखेंगे हम जैसे-जैसे आगे बढ़ते जाएंगे कांसेप्ट आगे बढ़ेंगे मोस्ट ऑफ द कीवर्ड्स यहां पर कवर हो जाएंगे बट अभी के लिए मान कर चलिए कि ये सारे वो लोग हैं जिनको हम एज नाम यूज नहीं कर सकते अगर गलती से यूज कर लिया तो क्या होगा भाई घबराने की जरूरत नहीं है कंपाइलर आपको वही बता देगा कि कुछ ना कुछ गड़बड़ आप यहां पर कर रहे हैं तो याद नहीं करना है रट्टा नहीं मारना है बट एक बार आप मोटा-मोटा बस आंख से एक बार पढ़कर देख सकते हैं ताकि आपको पता रहे कि ये कीवर्ड्स हैं इनको मैं नाम की तरह इस्तेमाल नहीं कर सकता हूं ठीक है एक बात हमारी रह गई जो कि थी एस्केप सीक्वेंसेस जब हम प्रिंट आपको दिखा रहे थे तो प्रिंट में हमने क्या देखा था प्रिंट में हमने ये तो समझ लिया था कि अगर बै स्ल ए हम लगाएंगे तो क्या होगा बै स् ए लगाकर हम नेक्स्ट लाइन में जा सकते हैं परट देखिए और भी बहुत सारे स्केप सीक्वेंसेस होते हैं क्या करते हैं इसको चलाकर देखते हैं वापस जाते हैं यहां पर एक नई फाइल यहां पर बना लेते हैं और फाइल का नाम हम रख लेते हैं एस्केप ठीक है स्केप ड सी ये हमने रख लिया फाइल का नाम अब स्केप ड सी में हम क्या करेंगे पहले तो हमको सेम ही काम करना पड़ेगा श इंक्लूड एसटीडी आड एच और क्या लिखेंगे एंड मेन मेरा मेन मेथड आ गया अब मैं आपको दिखाना चाह रहा हूं स्केप सीक्वेंसेस तो मान लीजिए मैं प्रिंट कुछ यहां करता हूं है ना मान लीजिए मैंने अपना नाम प्रिंट किया प्रशांत जन ठीक है इस प्रोग्राम को एक बार चलाकर देख लेते हैंको क्लीन कर देता हूं फिर से चलाते हैं देखिए नाम क्या आ गया प्रशांत जन यहां पर जो नाम है वो प्रिंट हो गया है ना ये हम ऑलरेडी देख चुके थे कि अगर मैं मान लीजिए इनके बीच में बैक स् n लगा दूं है ना एक्चुअली स्पेसेस भी दोनों तरफ देने की जरूरत नहीं है मान लीजिए मैं कर दूं प्रशांत बै ए जन फिर से इसको चलाक देखते हैं देखिए इस बार क्या हुआ प्रशांत एक लाइन में आया और जैन एक लाइन में आया यानी बैक स्लेश ने क्या किया नेक्स्ट लाइन में वो चीजों को ले गया है तो ये वाला एस्केप कैरेक्टर तो हमको समझ आता है देखिए बैक स्ल t क्या है बैक स्लैश t क्या करता है नेक्स्ट लाइन में ले जाने की बजाय एक टैब का फर्क कर देता है है ना तो ये मान लीजिए मैं इसको फिर से लिख लेता हूं और इस बार दे देते हैं बैक स्ल t तो अगर मैंने बैक स्ल t दे दिया तो देखिए क्या होगा जब अगली बार प्रशांत जन प्रिंट हो रहा है इसके बाद भी एक बैक स्लैश एन दे देते हैं ताकि हर बार नेक्स्ट लाइन से शुरू हो है ना तो देखिए अगली बार में क्या हुआ प्रशांत और जैन के बीच में क्या आ गया है एक स्पेस यहां पर आ गया है इसको और थोड़ा सा इधर कर लेते हैं प्रशांत और जैन के बीच में एक टैब का पूरा स्पेस आ गया यानी दो अगर आप दिखाओ आपके कीबोर्ड में बेसिकली q के बगल में क्या होता है टैब होता है टैब का मतलब होता है थोड़ा सा ज्यादा स्पेस स्पेस जनरली एक स्पेस होता है टैब अलग-अलग जगह पे अलग-अलग कंसीडर किया जाता है कहीं पर दो स्पेसेस कहीं पर चार स्पेसेस आपने देखा होगा शुरुआत में हमने भी उसको काई में कन्वर्ट किया था दो स्पेसेस में कन्वर्ट किया था बट बेसिकली टैब का अगर आपको एक स्पेस देना है एक कुछ छोड़कर चलना है तो वहां आप बै स् t भी यूज़ कर सकते हैं बै स् ब किस लिए यूज़ होता है बैक स्पेस यानी एक स्पेस वापस ले जाएगा यानी अगर मैं फिर से एक लाइन और बना लूं इसके लिए है ना ऊपर वाले में बैक स्ल n दे देते हैं ताकि अगली लाइन में आए मान लीजिए अब मैं यहां दे देता हूं ब b तो क्या होगा चलाने पर तो देखिए क्या होगा इसने यहां पर b ए बेसिकली बैक स्पेस प्रिंट कर दिया है बट जनरली अगर आप नॉर्मल टर्मिनल में इसको चलाएंगे तो क्या होगा t के बेस t को बेसिकली ये खा जाएगा और जे को t के ऊपर ही प्रिंट कर देगा ठीक है ये जो हमारा विजुअल स्ट स्टूडियो कोड का टर्मिनल है ये इसको सपोर्ट नहीं कर रहा है इसने इसलिए इसको यहां पर बीएस लिख दिया है बट इन जनरल क्या होता है पी आर ए एस एच ए एन के बाद जे ए आई एन आ जाएगा टी को वो खा जाएगा तो बै स् बी का मतलब है कि जो भी बाद में प्रिंट हुआ है उसको एक कम कर दिया जाए है ना अब देखिए दूसरा क्या है सिंगल कोट्स हम यहां पर अंदर जब आपने डबल कोट्स इस्तेमाल कर लिया है तो डबल कोट्स यहां पर क्या दिखा रहा है डबल कोटस दिखा रहा है कहां मेरी स्ट्रिंग स्टार्ट हो रही है कहां मेरी स्ट्रिंग एंड हो रही है बट अगर मान लीजिए मुझे बीच में कहीं डबल कोट्स दिखाना हो तो मुझे जैन को डबल कोट्स में दिखाना है तो क्या होगा मान लीजिए अगर मैं यहां पर डबल कोट्स लगाऊं है ना मान लीजिए मुझे किसी ने बोला आपको नाम दिखाना है बट जैन के दोनों तरफ क्या होना चाहिए डबल कोट्स होने चाहिए मैंने कहा ये ले इसमें क्या है डबल कोट्स लगा देता हूं देखिए क्या हुआ एरर आ गई एरर क्यों आ गई ये क्या बोल रहा है कि यार ब्रैकेट क्यों नहीं लगाया इसको तो लग रहा है यहां पर स्ट्रिंग खत्म हो गई क्योंकि मैंने डबल कोट लगा दिया तो डबल कोट को मैं शो कैसे करूं अगर आपको डबल कोड्स को ऐसी चीज को शो करना है जिसका कंपाइलर बाय डिफॉल्ट कोई और मतलब निकालता है तो उसके लिए हम क्या यूज कर लेंगे बैक स्लश यानी इससे आप कंपाइलर को मैसेज दे रहे हैं कि यह वाला जो डबल कोट है ना यह सिर्फ मैंने प्रिंट के लिए लगाया है इसको आप स्ट्रिंग का एंड मत समझिए अब मैं अगर इसको प्रिंट करता हूं तो देखिए क्या होगा जो चौथा वाला प्रिंट हुआ है कीजिएगा एक बार देख लेते हैं कुछ तो यहां पर गड़बड़ हो गई है एक बार इसको पहले हटा कर देखते हैं अच्छा यह शायद ऊपर वा था मैंने पूरा स्क्रॉल नहीं किया है ना वापस कर देते हैं फिर से चलाकर देखते हैं यह देखिए क्या हुआ है कुछ टेंपरेरी गड़बड़ थी अब देखिए क्या हुआ है अच्छा यहां बैक स् ए देना भूल गए अब ये सेम लाइन में आ रही है चीजें देखिए क्या हुआ प्रशांत जैन आया और जैन कैसे आया जैन आया डबल कोट्स में क्योंकि हमने क्या किया बैक स्लश डबल कोड बैक स्लश डबल कोड दिया तो उसने उनको एस्केप कर दिया एस्केप मतलब भाई उसका जो नॉर्मल मतलब है वो आप एस्केप कर दीजिए अभी इसी तरह से अगर मान लीजिए मुझे बैक स्लैश ही कहीं दिखाना हो अब उसको लगेगा कि बैक स्लैश तो एस्केप कैरेक्टर के लिए यूज़ होता है तो बैक स्लैश के बाद कुछ आने वाला है तो अगर आपको बैक स्लैश दिखाना है तो आप डबल बैक स्लैश लगा सकते हैं सिंगल कोट दिखाना है तो आप बैक स्लैट सिंगल कोट लगा सकते हैं ठीक है तो ये हुआ मेरा एस्केप सीक्वेंसेस एक लास्ट सबसे इंपॉर्टेंट चीज पर आते हैं क्या अभी तक हमने देखा कि प्रिंट कैसे करते हैं दूसरी इंपॉर्टेंट चीज क्या है कि यूजर से आप लेंगे कैसे अगर कोई वैल्यू आपको यूजर से इनपुट करानी है तो कैसे होगा तो देखिए क्या है हम क्या कर रहे हैं यहां पर अगर आप एक बार सिंटेक्स देखें मैंने मान लीजिए एक इंटी जर वेरिएबल डिक्लेयर कर लिया c है ना उसके बाद मैंने यूजर को एक मैसेज दिया प्रिंट एफ करके मैं मैसेज दे सकता हूं मैंने क्या मैसेज दिया एंटर अ कैरेक्टर मैंने उसको बोला भाई एक कैरेक्टर एंटर कर दीजिए है ना और अपना ये बेसिकली बंद कर दिया उसके बाद जैसे आप प्रिंट एफ कर रहे हैं ऐसे आप दूसरा एक मेथड इस्तेमाल कर सकते हैं जिसका नाम क्या है स्कैन एफ तो प्रिंट होगा प्रिंट करने के लिए यानी यूजर को आउटपुट देने के लिए स्कैन होगा यूजर से वापस लेने के लिए तो स्कैन एफ अगर आप इस्तेमाल करेंगे सेम जैसे हम जो बेसिकली परसेंटाइल कैरेक्टर्स ऊपर यूज़ कर रहे थे प्रिंट के लिए वही हम स्कैन के लिए भी यूज़ करेंगे तो देखिए मैंने क्या किया परसेंटाइल c किया कॉमा लगाया उसके बाद बोला भाई एक कैरेक्टर यानी आपको इनपुट लेना है और कहां उसको रखना है c के अंदर रखना है बस एक यहां स्पेशल चीज क्या है c के पहले ये एंड साइन हमको लगाना पड़ता है एन पर्सन साइन हमको लगाना पड़ता है ये अभी हम आगे चलके समझेंगे जब हम पॉइंट्स पे जाएंगे कि क्यों लगाना है अभी के लिए मानकर चलिए कि जब भी मुझे स्कैन ऑफ करना होता है तो मैं एन पर्सन साइन लगाता हूं एन पर्सन साइन एक्चुअली क्या निकालता है उस वेरिएबल का एड्रेस निकाल लाता है तो हम क्या चाह रहे हैं कि भैया जो भी कैरेक्टर आए ये सी के अंदर स्टोर हो जाए यह जो भी कैरेक्टर यानी यूजर जब भी इसको इनपुट करे तो सी के अंदर स्टोर हो जाए सी के अंदर स्टोर कराने के लिए मुझे कहां जाना पड़ेगा सी के एड्रेस के पास जाना पड़ेगा तो इसलिए स्कैन करते हुए ये एन पर्सन जब हम लगाते हैं एंड लगाते हैं तो बोलता भाई सी वेरिएबल जहां पर भी एड्रेस है सी वेरिएबल जहां पर भी स्टोर्ड है उस एड्रेस पर जाकर इस वैल्यू को आप टिका देना तो स्कैनफ क्या करता है रीड्स द कैरेक्टर विच द यूजर एंटर्स यहां आप जो भी देंगे परसेंटाइल डी देंगे तो क्या होगा इंटी जर आ जाएगा सी देंगे तो कैरेक्टर आ जाएगा और वो बाद में किस वेरिएबल में रखना है ये आप यहां पर दे सकते हैं तो स्कन एफ का क्या मतलब है दिस इज यूज्ड फॉर रीडिंग फॉर्मेटेड इनपुट है ना और सिंटेक्स क्या है इसका पहले आप स्कैनफ देते हैं फॉर्मेट स्पेसिफाई परसेंटाइल वाले कैरेक्टर्स देते हैं और उसके बाद कॉमा लगाकर n परसन वेरिएबल का नाम देते हैं तो आप क्या कर सकते हैं परसेंटाइल डी इंटी जर्स के लिए यूज़ कर सकते हैं जो भी आपने जिस तरह से हम प्रिंट में यूज़ करते थे उसी तरह से हम स्कैन में भी यूज़ करेंगे और ये एड्रेस ऑपरेटर हम क्यों यूज़ कर रहे हैं ये जो इन पर्सन है ये हमेशा इससे लगाया जाता है अगर एरे स्ट्रिंग है तो उनके लिए नहीं यूज़ किया जाता अभी इनका मतलब भी नहीं है हमने पढ़ा नहीं है एरे स्ट्रिंग जब पढ़ेंगे तब देखेंगे है ना तो एक बार पहले ज जल्दी से इसको हम चला कर देखते हैं तो यहां वापस आ जाते हैं एक नई फाइल बनाते हैं फाइल का नाम क्या रखते हैं स्कैन रख देते हैं स्न डॉ सी इसको कर देते हैं बंद आउटपुट कर देते हैं क्लियर और यहां स्टार्ट कर देते हैं एक नया प्रोग्राम तो नया प्रोग्राम कैसे स्टार्ट करेंगे हैश इंक्लूड हर बार अपने हाथ से टाइप करिएगा स्टार्ट में उससे क्या होगा याद हो जाएगा मसल मेमोरी हो जाएगा रात में भी कोई उठाएगा 2 बजे बोलेगा प्रोग्राम लिख दो तो इतना तो आप बाय डिफॉल्ट अपने आप ही लिख देंगे ठीक है अब देखिए हमको क्या करना है मान लीजिए हमको यूजर का एज इनपुट कराना है एज इनपुट कराकर सेव करिए तो पहले मुझे एज सेव कराना है कहीं पर तो एज के लिए एक वेरिएबल चाहिए मैंने मान लीजिए बोल दिया भाई एक इंटी जर एज जो है वो डिक्लेयर कर दीजिएगा फिर यूजर को पता कैसे चलेगा क्या करना है तो एक मैसेज दे देते हैं यूजर को देखिए प्रिंट अफ करना जरूरी नहीं है आप डायरेक्ट स्कैन भी कर सकते हैं बट यूजर को बताएं जब वो आपका प्रोग्राम चलाए कि भाई अब यह करना है है ना तो मैंने प्रिंट अफ में बोला प्लीज एंटर योर एज कोलन लगाकर छोड़ दिया यानी कसर ताकि यहां पर वेट करे कि भ आप अपनी एज एंटर करिए उसके बाद क्या करेंगे स्कैन करेंगे स्कैनफ इस्तेमाल करेंगे इंटी जर के लिए हम क्या फॉर्मेट स्पेसिफाइड डी और जो एज आए उसको कहां स्टोर कर द एज के अंदर पर एज वेरिएबल के अंदर यानी एज वेरिएबल की एड्रेस पर स्टोर करना है तो एक एन परसन भी यहां पर लगाना पड़ेगा लगा दिया अब हमको ये चेक करना है कि क्या हमारा डाटा जो है एज के अंदर आ गया तो फिर से प्रिंट कर देते हैं है ना क्या प्रिंट कर देते हैं मान लीजिए हम बोलते हैं योर एज इज ए इसी तरह से तो हम कर रहे थे यहां दे देते हैं परसेंटाइल डी सेमी कोलन मेरा प्रोग्राम हो गया है पूरा बड़ा अच्छा प्रोग्राम लिखा अभी जज पूछ के ज बता दिया देख धीरे-धीरे छोटे-छोटे स्टेप से शुरू करेंगे बहुत सिग्निफिकेंट स्टेप अभी हम कर रहे हैं हमने अभी तक आउटपुट किया था अब इनपुट भी कर रहे हैं इसके बाद हम काफी अच्छे अच्छे प्रोग्राम जो है वो बना पाएंगे यह जो हमारा आउटपुट है आउटपुट की जगह चले जाते हैं टर्मिनल प है ना टर्मिनल में जाके क्या देखते हैं हमको जाना है अपने सेकंड फोल्डर के अंदर वेरिएबल एंड डटा टाइप्स में और हमारे इस समय प्रोग्राम का नाम क्या है स्कैन सी तो हमारा जो कंपाइलेशन जो होकर बना है यानी जो हमारी बाइनरी फाइल बनी है वो क्या है स्कैन तो यहां क्या करते हैं स्कैन को चला देते हैं मैं बोलूंगा डॉट स्ल स्कन इसको रन कर द देखिए यहां पर एकदम ठीक से आ रहा है क्या बोल रहा है प्लीज एंटर योर एज मैं मान लीजिए यहां बोल देता हूं 32 ये जैसे ही मैंने 32 लिखकर एंटर किया यहां क्या लिखा आ गया यू आर 32 इयर्स ओल्ड तो यानी प्रोग्राम हमारा ठीक से चला है प्रोग्राम में हमने क्या बोला था पहले प्लीज एंटर योर एज लिखा उसके बाद किया स्कैन और वो बोला एज में सेव कराने के लिए तो वो हो गया एज के अंदर सेव उसके बाद लिखा योर एजेज और एज वेरिएबल की वैल्यू को जो है प्रिंट करा दिया तो यहां क्या हुआ इसने पहले बोला प्लीज एंटर योर एज उसके बाद कर्सर यहां पर वेट करने लगा वेट क्यों कर रहा है क्योंकि यहां हमको देना है एज देखिए हम रिटर्न करना भूल गए आप यहां रिटर्न जरो भी लिख दें ताकि क्या हो ये हो कि प्रोग्राम ठीक से आपका एंड हुआ है है ना तो उसके बाद क्या हुआ 32 मैंने एंटर किया 32 जाकर कहां सेव हो गया होगा एज वेरिएबल के अंदर सेव हो गया होगा उसका जब मैंने प्रिंट किया एज का वैल्यू तो एज का वैल्यू प्रिंट हो गया ठीक है तो स्कैन करना दोस्तों यहां पर हम सीख गए हैं हम इसका एक छोटा सा एग्जांपल देख लेते हैं जो काफी पॉपुलर एग्जांपल है बहुत सारे लोग करते हैं क्या सम ऑफ टू नंबर्स यानी हमको एक प्रोग्राम लिखना है जो क्या करे यूजर से दो नंबर इनपुट कराए और उनका सम जो है वो प्रिंट कराए एक बार इसको पॉज करके खुद से ट्राई करिएगा उसके बाद मेरे साथ यहां पर करते हैं ताकि आपको भी समझ आए सम ऑफ टू नंबर्स किस तरह से किया जाता है आपके नोट्स के लिए मैंने यहां पर फिर भी पूरा का पूरा कोड आपको दिया हुआ है है ना तो यहां आ जाते हैं एक बार एक नया फाइल बनाते ते हैं क्या इसका नाम रख देते हैं सम डॉ सी है ना अब इस कोड को हम पूरा स्क्रैच से यहां पर लिखने वाले हैं अभी फिलहाल इसको कर देते हैं क्लियर सम में अब हम क्या करेंगे देखिए हमको क्या लेना है दो नंबर पहले डिक्लेयर करने पड़ेंगे उन दो नंबर्स का क्या करना पड़ेगा दोनों नंबर्स को इनपुट कराना पड़ेगा यूजर से इनपुट कराना हम सीख गए हैं फिर उन दो नंबर को ऐड करेंगे दोनों नंबर को ऐड करके किसी और नंबर में हम सेव कर लेंगे और उसके बाद वो नंबर हम बेसिकली शो कर देंगे कि आपका दोनों नंबर्स का सम बेसिकली क्या आया है तो इसमें हम बेसिकली प्लस को यूज़ करने वाले हैं कि दो नंबर को ऐड कैसे करते हैं जो अभी हमने पढ़ा नहीं है आगे चलके नेक्स्ट चैप्टर में हम उसको डिटेल में पढ़ने वाले हैं बट इतना आप समझ सकते हैं कि दो नंबर को प्लस करना बहुत ज्यादा मुश्किल यहां पर नहीं है शुरू करते हैं सबसे पहले लिखेंगे है इंक्लूड एडीओ ए उसके बाद लिखेंगे इंट मेन और हम बाद में भूल ना जाए रिटर्न जीरो यहां पर लिखकर छोड़ देते हैं देखिए क्या बोला मैंने सबसे पहले सबसे पहले दो वेरिएबल हमको इनपुट कराने हैं तो इनका नाम रख लेते हैं मान लीजिए मैंने नाम रख लिया नम वन न जो इंटी जर है उसको मैं बाद में यूज कर सकता हूं लिटरल में नंबर को बाद में यूज कर सकता हूं तो यह हो गया नम वन ये हो गया नम टू और मैं फाइनली जो रिजल्ट रखूंगा वो भी कहीं रखूंगा तो उसके लिए मान लीजिए नंबर डिक्लेयर कर लिया सम तो मैंने नम वन डिक्लेयर कर लिया नम टू डिक्लेयर कर लिया और सम डिक्लेयर कर लिया अब यूजर को बोलते हैं क्या सबसे पहले बोलते हैं वेलकम टू सम कैलकुलेटर ठीक है बैक स् दे देते हैं थोड़ा सा वेलकम मैसेज उसके बाद अगला क्या लिखेंगे अब हमको नंबर इनपुट कराने है तो बोलता हूं प्रिंट एफ प्लीज एंटर द फर्स्ट नंबर ठीक है पहला नंबर इनपुट करा लेंगे तो अब लिखते हैं स्कन ए नंबर क्या है इंटी जर है तो परसेंटाइल डी और कहां स्टोर करा लो नम वन के अंदर स्टोर करा लो तो मैंने क्या लिख दिया n परस नम जब वो इतना कर चुका है तो उसको क्या दें ताकि आपका प्रोग्राम थोड़ा सा रिस्पांसिस लगे लगे कि आपको समझ आ गया है पहला नंबर आपको मिल गया है तो लिखते हैं नाउ एंटर द सेकंड नंबर भाई जब पहला नंबर एंटर कर दिया तो अब सेकंड नंबर एंटर कर दीजिए फिर क्या लिखेंगे स्कैन एफ परसेंटाइल डी एन पर्सन नमू ये देखिए क्या ये जो सजेशन है ये आपके आगे आगे चलता है मैंने नम लिखा है खुद ही बोल रहा है भाई नम वन नम टू आपने दो वेरिएबल ऊपर डिक्लेयर किए हैं चलिए नम टू पर जाकर एंटर दबा देते हैं तो नम टू यहां पर आ जाएगा तो मेरे पास दोनों नंबर तो मैंने यूजर से इनपुट करा लिए अब मैं इनका सम कैसे करूंगा तो देखिए मैं सकता हूं सम इ इक्वल टू सम की वैल्यू क्या होनी चाहिए नम वन प्लस नम टू ठीक है ये क्या है अथमिक इंस्ट्रक्शन है जो आगे चलके अभी हम देखेंगे कि वो क्या होती है बट बेसिकली मैंने दो नंबर को ऐड किया और उसको सम के अंदर डाल दिया सम मेरा आ गया है अब मेरे को दिखाना है आउटपुट तो मैं फाइनली प्रिंट एफ लिखूंगा और क्या बोलूंगा सम ऑफ द टू नंबर्स इज परसेंटाइल डी और यहां हम दे देंगे सम देखिए क्या हुआ है प्रोग्राम हमारा बनके एकदम तैयार हो गया है एक बार इसको चलाकर देख लेते हैं रन कोड देखिए इसकी कहानी तो वहीं पर अटकी हुई है अभी भी कुछ तो गड़बड़ हो रहा है यहां जाते हैं हम टर्मिनल में है ना एक बार क्योंकि हमने रन कर लिया है तो कंपाइल बेसिकली हो चुका होगा जाएंगे वेरिएबल वाले फोल्डर के अंदर देखिए क्या हुआ है सम ड सी के साथ-साथ सम वल फाइल भी यहां पर बन चुकी है तो बोलूंगा डॉट स्ल सम अगर आप विज पर कर रहे हैं तो शायद सम ड बनी होगी आप सम ड को ऐसे ही डॉट स्ल करके यूज बेसिकली रन कर सकते मैंने बोला डॉट स् सम अब देखिए क्या बोल रहा है यह बोलता है अच्छा देखिए वेलकम की स्पेलिंग मैंने गलत कर दी है पढ़ के समझ आया है ना तो क्या बोलता है वेलकम टू सम कैलकुलेटर प्लीज एंटर द फर्स्ट नंबर मान लीजिए पहला नंबर मैंने दिया 12 अच्छा मैंने गलती से वहां टाइप कर दिया पहले यहां कर्सर लाना पड़ेगा 12 टाइप किया 12 मेरा बेसिकली यहां पर आ गया है अब बोल रहा है एंटर द सेकंड नंबर सेकंड नंबर मान लीजिए है फाइ देखिए क्या बोला इसने सम ऑफ द टू नंबर्स इज 17 तो इसने 12 और 5 को ऐड किया जो कि मेरा आ गया है 17 और वो इसने यहां पर कर दिया है प्रिंट है ना तो सम ऑफ़ टू नंबर्स भी दोस्तों हमको समझ आ गया कैसे हमने पहले एल्गोरिथम अपने दिमाग में बनाया क्या कि पहले दो नंबर को डिक्लेयर करना है दोनों नंबर को एक-एक करके इनपुट करना है वेलकम मैसेजेस देने हैं उससे पहले रिस्पांसिस मैसेज देना है कि भाई नंबर मुझे मिल गया अब अगला नंबर दीजिए उसके बाद एक सम वेरिएबल भी डिक्लेयर किया जिसमें दोनों नंबर के सम को ऐड किया और उसके बाद उसको प्रिंट किया क्या स्टेप बाय स्टेप प्रोसीजर हमने बनाया कैसे हम दो नंबर का सम कर सकते हैं और यह मेरा एल्गोरिथम के साथ हमने बना लिया है सॉल्यूशन डन ठीक है उसके बाद आ जाते हैं जल्दी से रिवीजन पे देखिए पूरे चैप्टर में हमने क्या-क्या पढ़ा वेरिएबल पढ़ लिया डेटा टाइप्स को समझा नेमिन कन्वेंशन देखे लिटरल्स हमने देखे है ना कांस्टेंट कीवर्ड एस्केप सीक्वेंसेस इनपुट कैसे लेना है स्कैनफ यूज़ करके और फाइनली सम ऑफ टू नंबर्स भी हमने किया है देखिए हर चैप्टर के बाद हम क्या करते जा रहे हैं बहुत सारी आपके पास एक्सरसाइजस हैं उनको ट्राई करिए अदर वाइज उनका सॉल्यूशन का वीडियो में भी आप जाके उनका सॉल्यूशन देख सकते हैं जब एक बार आप खुद ट्राई कर कर चुके हैं तो है ना तो यहां होता है हमारा चैप्टर टू कंप्लीट तो दोस्तों अब हम आ गए हैं अपने पहले प्रोग्रामिंग चैलेंज की तरफ तो मैं एक बार आपको थोड़ा सा एक्सप्लेन कर दूं कि इस वीडियो को हम किस तरह से करने वाले हैं देखिए 50 से ज्यादा प्रोग्रामिंग के जो प्रॉब्लम्स हैं वो हम कहां कर रहे होंगे आपको पढ़ाते हुए कर रहे होंगे बट उसके बाद क्या करेंगे हर चैप्टर के बाद प्रैक्टिस के लिए हम क्या करेंगे कुछ ना कुछ प्रोग्रामिंग चैलेंज यहां पर करने वाले हैं हम इसको करेंगे किस तरह देखिए वीडियो में क्या है वीडियो की youtube1 घंटे से ज्यादा आप नहीं कर सकते हैं सारे के सारे कांसेप्ट भी कवर करने हैं तो हमने क्या किया है हमने यहां पर आपको सिर्फ टास्क्स बताए हैं कि किस चैप्टर के बाद आपको कौन से टास्क्स करने चाहिए तो आइडियल क्या है आप इन टास्क्स को एक बार खुद ट्राई करेंगे और जब आप ट्राई कर चुके हैं उसके बाद अगर आपको सॉल्यूशन देखना है तो एक पूरा सॉल्यूशन वीडियो होगा जिसमें पूरे की पूरे कोर्स में जितने भी चैलेंज दिए गए हैं हर चैप्टर के बाद प्रोग्रामिंग चैलेंज हैं और उन सारे के सारे चैलेंज का सलूशन एक साथ होगा उसका एक डबल एडवांटेज ये है कि बाद में अगर आपको सिर्फ आपको ऐसा लग रहा है कि सी आप सीख चुके हैं या सी की आपका एक थोड़ा सा लेवल बन गया है और आप सिर्फ प्रैक्टिस करना चाह रहे हैं ज्यादा प्रोग्रामिंग करना चाह रहे हैं तो उसमें भी एक सिंगल शॉर्ट 12 घंटे की वीडियो में आपको क्या मिलेगा 100 प्लस चैलेंज जो यहां पर इस कोर्स में दिए गए हैं इन सबका सॉल्यूशन आपको एक साथ मिल जाएगा उस वीडियो का कहां से लिंक मिलेगा उस वीडियो का लिंक मिलेगा आपको या तो डिस्क्रिप्शन में या आई बटन के ऊपर तो यह जो हमारा चैप्टर नंबर टू है इसमें हम कौन-कौन से टास्क करने वाले हैं देखिए पहला चैलेंज क्या है पहला चैलेंज है आपको ये जो स्क्रीन पर पैटर्न दिख रहे हैं तीन पैटर्न इसको सिर्फ प्रिंट स्टेटमेंट यूज़ करके आपको यहां पर शो करना है अभी हमने कोई बड़ी चीजें नहीं पढ़ी हैं फॉर नहीं पढ़ा है इफ नहीं पढ़ा है बाकी चीजें नहीं पढ़ी हैं यहां पर आपको इनको बस बार-बार रिपीटेड क्या करके अ बेसिकली प्रिंट स्टेटमेंट यूज़ करके प्रिंट करना है इसी तरह से ये वाले भी इसमें क्या करना है आपको सिंगल प्रिंट स्टेटमेंट लगाना है यानी एक पूरे के लिए एक प्रिंट स्टेटमेंट कैसे यूज़ करेंगे बै स् n ब t इन सब चीजों को देखिए किस तरह से यूज़ कर सकते हैं और उसके बाद इसको एक स्टेटमेंट में इसको एक स्टेटमेंट में इसको एक स्टेटमेंट में आपको प्रिंट करना है इसके बाद क्या है देखिए यहां थ्री से लेकर 10 तक और भी बहुत सारे चैलेंज हैं यहां पर आपको बेसिकली नाम पढ़कर क्या दिखाना है वेलकम नेम टू केजी कोडिंग दिखाना है और क्या है दो इंटी जर वेरिएबल लेने हैं उनकी वैल्यू को जो है डिस्प्ले करना है बहुत सारी इस तरह के बेसिक बेसिक प्रोग्राम्स बेसिक और थोड़ा सा एडवां बेसिकली एडवांस हो आ जाएगा ये क्या है डिक्लेयर वन वेरिएबल ईच ऑफ फंडामेंटल डेटा टाइप्स ये सब बेसिकली वेरिएबल आपको यूज़ करने हैं और उसके बाद साइज ऑफ ऑपरेटर आपको यूज़ करना है एक और बात ये मत सोचिए कि अगर मैंने कुछ पढ़ा दिया है तो उससे ये क्वेश्चन जो हैं 100% हो जाने चाहिए देखिए 12 घंटे में सी पढ़ाना थोड़ा सा मुश्किल काम है तो बेसिक बहुत छोटी-छोटी चीजें ऐसी हो सकती हैं जो बहुत ज्यादा इंपॉर्टेंट चीजें नहीं है जो मिस हो गई हैं जैसे साइज ऑफ ऑपरेटर हमने अभी तक नहीं पढ़ा है इस केस में आपको ये भी साथ-साथ सीखना है कि बाकी चीजों को कैसे सीखना है तो अगर कोई चीज यहां पर ऐसी लग रही है प्रोग्राम में जो पहले नहीं देखी है उसको ग करिए उसको समझिए या फिर आप सॉल्यूशन वीडियो में तो डिटेल इसका सॉल्यूशन देख ही सकते हैं है ना तो यहां ये 10 के 10 क्वेश्चंस हैं ये आपको करने हैं इस चैप्टर के बाद एक बार इन सबको ट्राई करिए देखिए बिना प्रैक्टिस किए अगर आप इसको कथा की तरह देखते जाएंगे पूरी वीडियो को तो कुछ नहीं होगा हर चैप्टर के बाद पॉज करिए इन सब क्वेश्चंस को एक बार ट्राई करिए अदर वाइज अगर आपके से क्वेश्चन कुछ क्वेश्चन भी बन जाते हैं तो आप नेक्स्ट चैप्टर पर जा सकते हैं अगर आप सारे भी लगाना चाहते हैं वो भी बहुत अच्छी बात है वरना वीडियो सॉल्यूशन के लिए पूरा का पूरा जो वीडियो है वो आप देख सकते हैं ना तो बिना ट्राई करिए आगे मत बढ़ेगा ये 10 के 10 क्वेश्चन यहां पर ट्राई करने हैं उसके बाद जाएंगे नेक्स्ट चैप्टर की तरफ तो चलिए स्टार्ट करते हैं हमारा अगला चैप्टर अगला चैप्टर क्या है इंस्ट्रक्शंस एक्सप्रेशंस एंड ऑपरेटर्स नाम सुनने में बड़े भयंकर भयंकर से लग रहे हैं बट इतना मुश्किल कुछ है नहीं आपको क्या करना है बस ध्यान देना है देखिए टॉपिक्स भी यहां पर बहुत ज्यादा लग रहे हैं देखने में लग रहा है 11 टॉपिक्स हैं बट बहुत छोटे-छोटे टॉपिक्स हैं सिर्फ समझने वाली बात है आधी चीजें तो हम चैप्टर टू में जो यूज करके आए हैं बस उनका मतलब समझेंगे उनका टेक्निकल इफ टेक्निकल बेसिकली नाम क्या है वो सम समझेंगे एग्जाम में किस तरह से पूछा जाता है वह काफी ज्यादा इस चैप्टर में डिपेंड करेगा आपका चाहे बीटेक का एग्जाम है अगर आप स्कूल में है तो चाहे स्कूल का एग्जाम है काफी ज्यादा इन इन बेसिस पर चीजें पूछी जाती हैं तो नोमेनक्लेच्योर करते हैं जो क्या है सी इंस्ट्रक्शंस इंस्ट्रक्शंस का क्या मतलब है तो इंस्ट्रक्शंस बेसिकली आपने अगर कोई भी स्टेटमेंट लिखा है जो आप सेमीकलन लगा रहे हैं उसको बेसिकली इंस्ट्रक्शन बोलते हैं और इंस्ट्रक्शन कितने टाइप की होती हैं तीन टाइप की इंस्ट्रक्शंस यहां पर मोस्ट अ मेनली यहां पर पाई जाती हैं कौन-कौन सी टाइप की इंस्ट्रक्शंस हैं पहली है टाइप डिक्लेरेशन इंस्ट्रक्शन दूसरी है एरिथ मेे िक इंस्ट्रक्शन और तीसरी है कंट्रोल इंस्ट्रक्शन इनका क्या मतलब है टाइप डिक्लेरेशन इंस्ट्रक्शन का क्या मतलब है जो टाइप ऑफ वेरिएबल यूज़ जो है उसको डिक्लेयर करती है तो यह अभी यही तो पढ़ कर आए हैं वेरिएबल जो हम डिक्लेयर कर रहे थे पहले लिख रहे थे डेटा टाइप यानी जैसे इंट फिर लिख रहे थे वेरिएबल का नाम जैसे a इक्वल टू वैल्यू दी वैल्यू दी मैंने लिटरल दिया फाइव सेमीकलन लगा दिया बस वही वाली जो स्टेटमेंट्स हैं जभी भी आप कोई नया वेरिएबल डिक्लेयर कर रहे हैं उसको बोला जाता है टाइप डिक्लेरेशन इंस्ट्रक्शन यह तो हमको समझ आ गई उसके बाद बात करेंगे क्या है अगला है एरिथ मेे िक इंस्ट्रक्शन एरिथ मेे िक इंस्ट्रक्शन का क्या मतलब है टू परफॉर्म एरिथ मेे ऑपरेशंस बिटवीन कांस्टेंट्स एंड वेरिएबल यानी अगर हमको अलग-अलग तरह के एरिथ ऑपरेशन करने हैं देखिए सम वाला तो हमने पढ़ लिया है बाकी अभी हम देखेंगे किस तरह से एरिथ मेे िक ऑपरेशंस या एरिथ मेे िक इंस्ट्रक्शंस यहां पर काम करते हैं और लास्ट क्या है लास्ट है कंट्रोल इंस्ट्रक्शन यानी अगर आपको अपने सी प्रोग्राम का सीक्वेंस को जो है कंट्रोल करना है अभी क्या मतलब है इस बात का बहुत ज्यादा ध्यान मत दीजिएगा इस पे आगे के जितने चैप्टर्स हैं मोस्टली इसी के साथ डील करेंगे देखिए टाइप डिक्लेरेशन हम ऑलमोस्ट पढ़ के आए हैं इस चैप्टर में जो मेनली पढ़ने वाले हैं वो पढ़ने वाले हैं एरिथ मेे िक इंस्ट्रक्शन और कंट्रोल इंस्ट्रक्शन क्या होते हैं यहां सिर्फ डेफिनेशन देखेंगे इसका मतलब देखेंगे इसके बाद के जो चैप्टर्स हैं वो मोस्टली कंट्रोल इंस्ट्रक्शन के साथ ही आपके डील करने वाले हैं फिर भी डेफिनेशन क्या है व्हिच कंट्रोल्स द सीक्वेंस ऑफ द एग्जीक्यूशन भी क्या है हमारी सिर्फ एक सीक्वेंस चल रही है अगर हम चाहे प्रोग्राम में कभी ये हो कभी ये हो बेस्ड ऑन कंडीशंस बेस्ड ऑन यू यूजर क्या एंटर कर रहा है उस हिसाब से चीजें चेंज हो तो वो कहां आएगा कंट्रोल इंस्ट्रक्शन के अंडर आएगा ठीक है तो तीनों को एक-एक करके डबल क्लिक करते हैं सबसे पहले जाते हैं टाइप डिक्लेरेशन इंस्ट्रक्शन में उससे पहले एक चीज हमको समझनी है जो हम ऑलरेडी देख कर आए हैं बट एक बार फॉर्मली हमको समझ आ जाए क्या एक ऑपरेटर है जिसको बोलते हैं असाइनमेंट ऑपरेटर असाइनमेंट ऑपरेटर क्या है बस जो इक्वल टू अपन यूज करते हैं वही हमारा असाइनमेंट ऑपरेटर है और प्रोग्रामिंग में असाइनमेंट ऑपरेटर किस तरह से काम करता है देखिए जब हम नॉर्मल मैथ में पढ़ते हैं तो इक्वल टू का क्या मतलब होता है जब हम कहीं इक्वल टू लगाते हैं तो इसका मतलब होता है इक्वल टू जो इस साइड और इक्वल टू के इस साइड चीजें बराबर हैं यहां इसका वो मतलब नहीं है यहां नॉर्मल जो इक्वल टू है इसका मतलब होता है असाइनमेंट ऑपरेटर ये क्या करता है इसके राइट में जो भी चीज है ये उसको उठाएगा और लेफ्ट के अंदर डाल देगा देखिए जब हम यहां वेरिएबल भी हमने डिक्लेयर करके देखा था पहले तो ये क्या कर रहा था इक्वल टू क्या करेगा इक्वल टू देखेगा पहले मेरे राइट में क्या है राइट में है फाइव ये फाइव को उठाएगा बोलेगा मेरे लेफ्ट में जो भी है वहां पर डाल दीजिए तो फाइव को उठाकर कहां डाल देगा a में डाल देगा तो देखिए इससे दूसरी चीज क्या निकल कर आती है प्रोग्रामिंग में राइट में इक्वल टू के कुछ भी हो सकता है लेफ्ट में हमेशा एक सिंगल वेरिएबल ही हो सकता है मान लीजिए मैं क्या लिख दूं मैं लिख देता हूं a b = 5 तो ये जो स्टेटमेंट है वो इनवैलिड है या मैं लिख दूं a + b = 5 देखिए नॉर्मल मैथ में ये बात ठीक थी पर यहां पर ये इनवैलिड है क्यों क्योंकि ये कोई इक्वलिटी चेक नहीं कर रहा है ये इक्वल क्या करता है राइट से वैल्यू उठाता है पांच को ये उठाएगा उठाकर लेफ्ट में डालने की कोशिश करेगा लेफ्ट में आपने खुद एक एक्सप्रेशन लिख दिया है a + b लिख दिया तो बोलेगा कहां डालूं तो नहीं डाल पाएगा तो असाइनमेंट ऑपरेटर में क्या होना चाहिए राइट में एक एरिथ मेे िक इंस्ट्रक्शन हो सकता है रिमेटिक एक्सप्रेशन हो सकता है कुछ भी हो सकता है अरिमिल्ली है राइट हैंड साइड पर और राइट हैंड साइड की वैल्यू को उठाकर वो कहां डाल देता है लेफ्ट हैंड साइड पर एक वेरिएबल होना चाहिए जहां वो उस वैल्यू को डाल देगा ठीक है तो असाइनमेंट ऑपरेटर आपको समझ आ गया असाइनमेंट ऑपरेटर क्या है कुछ नहीं सिंगल इक्वल टू असाइनमेंट ऑपरेटर है राइट से उठाएगा लेफ्ट में डाल देगा अब आ जाते हैं टाइप डिक्लेरेशन इंस्ट्रक्शन पर जिसकी हमने अभी बात की थी है ना ये क्या है बेसिकली ये वेरिएबल एंड फंक्शन अभी हम आगे जब फंक्शन भी डिफाइन करेंगे फंक्शन देखेंगे क्या होता है इनको जब बेसिकली डिक्लेयर करते हैं उनका मेमोरी एलोकेशन जो होता है ये टाइप डिक्लेरेशन इंस्ट्रक्शन होता है सिंटेक्स हम ऑलरेडी प पढ़ कर आए हैं डेटा टाइप वेरिएबल नेम बेसिकली सेमीकलन हम लगा देंगे टाइप्स कौन-कौन से यूज़ होते हैं इंट फ्लोट कै डबल जो भी कोई डटा टाइप है वो सब यहां पर यूज़ हो सकते हैं अलाउ इमीडिएट वैल्यू असाइनमेंट यानी वैल्यू आप तुरंत असाइन कर भी सकते हैं नहीं भी कर सकते आपकी इच्छा है और स्कोप क्या होता है देखिए वेरिएबल स्कोप इंपॉर्टेंट है जब हम एडवांस टॉपिक्स में जाएंगे तो समझेंगे बट इससे पता चलता है कि वेरिएबल विजिबल कहां-कहां होगा यानी जब हम मेन के अंदर कोई वेरिएबल डिक्लेयर करते हैं तो मेन के अंदर डिफाइन होता है मेन के अंदर यूज़ हो सकता है है ना बाद में जब हम चलके अभी तो एक मेन फंक्शन हम लिख रहे हैं मल्टीपल फंक्शन जब हम लिखेंगे तो देखेंगे कि वेरिएबल जहां डिक्लेयर करो वहीं पर एक्सेसिबल होता है अगेन अभी इसमें बहुत ज्यादा घुसने की जरूरत नहीं है स्कोप को हम बाद में जाके डीप में पढ़ने वाले हैं यहां हमने कुछ एग्जांपल्स आपके लिए लिखे हैं क्या अगर मैं वैलिड दिखना शुरू करूं देखिए इंट एज लिखा है मैं एक इंटी जर नाम टाइप का एज वेरिएबल डिफाइन कर रहा हूं वैलिड है और दूसरे तरीके क्या है अभी ये समझ लीजिए मैंने लिखा इंट i = 10 j = 25 यानी मल्टीपल वेरिएबल अगर डिक्लेयर करने हैं और वैल्यू भी असाइन करनी है तो आप इस तरह से भी लिख सकते हैं यह भी एकदम वैलिड तरीका है अगर मुझे कोई डेसीमल नंबर लगाना है तो फ्लोट टेंपरेचर इक्वल ू 98.6 बिल्कुल वैलिड है फ्लोट a = 1.5 b = अब देखिए यहां मैंने क्या किया यहां पूरा एक्सप्रेशन मैंने लिख दिया है मैंने क्या लिख दिया है 1.99 + 2.4 * 1.44 यानी आप इस तरह के एक्सप्रेशंस भी लिखेंगे तो यह भी क्या करता है इनकी वैल्यू को कैलकुलेट करता है उसके बाद उठाकर लेफ्ट में वेरिएबल के अंदर डाल देता है यह भी एकदम वैलिड टाइप डिक्लेरेशन इंस्ट्रक्शन है दूसरा है फ्लोट p = 5 एंड q = p * 6 यानी पहले मैंने p को डिक्लेयर किया p = 5 p की वैल्यू हो गई फिर मैंने बोला p * 6q के अंदर डाल देना तो ये भी एकदम वैलिड है चल जाएगा ये एक एरे का डिक्लेरेशन हैय हम बाद में समझेंगे है ना पर आपको बस ये बताने के लिए कि ये भी एक वैलिड इंस्ट्रक्शन होता है और दूसरा क्या है x y z = 5 ये देखिए तीनों में 55 नहीं डाल रहा है ये सिर्फ z = 5 है और ये x और y है तो x और y बिना वैल्यू के डिक्लेयर हो जाएंगे और z = 5 डिक्लेयर हो जाएगा कुछ इनवैलिड एग्जांपल्स भी देख लेते हैं इनवैलिड एग्जांपल क्या है स्कोर इक्वल 100 भाई हमने ये तो बताया नहीं कि स्कोर का डेटा टाइप क्या है तो ये क्या हुआ इनवैलिड इंट डिस्टेंस इक्व 3.14 ये देखो कोई एरर तो आपको नहीं देगा जब आप इसको चलाएंगे कोई एरर नहीं देगा बट हमने इंटी जर डिक्लेयर किया और वैल्यू दे दिया 3.14 तो होने क्या वाला है ये डिस्टेंस के अंदर सिर्फ थ्री स्टोर हो जाएगा डॉट 144 क्या हो जाएगा खो जाएगा इंटी जर डॉट के बाद वाली चीजों को रख ही नहीं सकता तो आप अगर उसके अंदर 3.14 को असाइन करेंगे तो क्या करेगा थ्री को रख लेगा बाकी सबको छोड़ देगा है ना तो ये भी एक तरह से इनवैलिड है क्योंकि आपने गलत टाइप यहां पर डिक्लेयर किया है फिर क्या बोल रहा है कैरेक्टर ग्रेड ए ये तो सही लग रहा है इसमें क्या गड़बड़ है भाई इक्वल टू की जगह आपने कलन लगा दिया इक्वल टू लगाना जरूरी है टाइप डिक्लेरेशन इंस्ट्रक्शन में इक्वल टू लगेगा अगर आप वैल्यू असाइन कर रहे हैं तो दूसरा मैंने फ्लोट दिया रिटर्न भाई यह क्या है रिटर्न एक कीवर्ड है रिटर्न ऑलरेडी रिटर्न का कोई मतलब है c के लिए तो आप वो नाम यहां पर यूज़ नहीं कर सकते फिर मैंने दिया नंबर नम भाई नंबर नहीं नंबर कोई डेटा टाइप नहीं है नंबर आप डिफाइन करना चाहते हैं बट आपको डेटा टाइप यहां पर लिखना पड़ेगा ये क्यों इनवैलिड है मैंने बोला b = a + 3.1 एंड a = 1.5 देखिए डिक्लेरेशन चलते हैं लेफ्ट टू राइट तो जब b डिक्लेयर कर रहे हैं तब a ऑलरेडी डिक्लेयर हो चुका होना चाहिए देखिए सिमिलरली जब हमने यहां किया था पहले a डिक्लेयर किया था फिर a को सॉरी पहले p डिक्लेयर किया था फिर p की वैल्यू को यूज किया था यहां हमने a की वैल्यू को यूज करने की कोशिश पहले कर ली a डिफाइन बाद में किया है तो ये भी क्या हुआ इनवैलिड हुआ x = y = z = 10 ये भी गलत है आईडियली आप ये सोच सकते हैं सर इक्वल टू राइट से उठाएगा लेफ्ट में डाल देगा राइट से उठाएगा लेफ्ट में डाल देगा बट नहीं इक्वल टू एक आप स्टेटमेंट में एक ही बार यूज़ कर सकते हैं और वो अपने राइट से उठाकर वैल्यू लेफ्ट में डालने की कोशिश करता है तो यह भी क्या है इनवैलिड है तो हमने टाइप डिक्लेरेशन इंस्ट्रक्शन को समझ लिया है कितने सारे अलग-अलग टाइप के तरीके हो सकते हैं बेसिकली अपने वेरिएबल को डिफाइन करले करने के लिए इसमें थोड़ा सा झांक के हमने देख लिया है अब रेस्ट ऑफ द चैप्टर मोस्टली हम किसकी बात करेंगे एरिथ मेे िक इंस्ट्रक्शन की बात करेंगे एरिथ मेे िक इंस्ट्रक्शन समझने से पहले हमको क्या समझना है पहले हमको समझना है एरिथ मेे ऑपरेटर्स क्या होते हैं एरिथ मेे िक ऑपरेटर्स मतलब मतलब जब हम मैथ एरिथ मेे िक का मतलब क्या होता है मैथ के अंदर हम यूज़ करते हैं एरिथ मेे िक तो एरिथ मेे िक ऑपरेटर्स क्या-क्या हो सकते हैं देखिए आप ऐड कर सकते हैं आप माइनस कर सकते हैं यानी सबस्टैक कर सकते हैं मल्टीप्लिकेशन कर सकते हैं मल्टीप्लिकेशन के लिए क्या यूज होता है एस्ट्रिक्स साइन यूज होता है जो आपके कीबोर्ड में नंबर आठ पर आपको दिख रहा है यानी आप शिफ्ट के साथ दबाए तो एस्क आ जाएगा ये जो स्लैश है ये किस लिए यूज होता है डिवीजन के लिए देखिए डिवीजन के लिए यहां पर ये कोई साइन नहीं होता है हम जैसे मैथ में ये वाला साइन भी यूज करते थे डिवीजन के लिए यहां पर ये नहीं लगता है क्या लगता है स्लैश लगता है ये कहां दिख रहा है आपको शि के बगल वाला जो है जो क्वेश्चन मार्क के साथ वो यहां पर आपको दिख रहा है ये पहले इन चार का मतलब देख लेते हैं इस पर बाद में आएंगे ये थोड़ा सा डिफिकल्ट है यानी ये क्या है 4 + 2 = 6 4 - 2 2 4 * 2 8 4/2 2 तो जो नॉर्मल मैथ में हम एरिथ मेे िक पढ़कर आए हैं ये साइंस भी वही उसी टाइप की अरिमिल्ली साइन है ये परसेंटेज नहीं है इसको बोला जाता है मॉड्यूस ऑपरेटर मॉड्यूस ऑपरेटर क्या करता है अगर मान लीजिए मैं लिख दूं 5 / 2 तो आंसर क्या आएगा आंसर आएगा टू देखिए जब भी हम इंटी जर में काम करते हैं तो ये क्या करेगा 2.5 नहीं देगा क्योंकि ये दोनों इंटी जर हैं अभी आगे चलके भी हम इसको डीप में पढ़ेंगे 5/2 की वैल्यू आने वाली है ू बट अगर मैं ये चाहता हूं कि यार मेरे को डिवीजन नहीं चाहिए बताओ अगर टू से फ को डिवाइड करें तो रिमाइंडर क्या बचेगा देखिए पहले हम डिवाइड किस तरह से करते थे जब हम छोटे थे टू को ऐसे लिखते थे उसके बाद लगाते थे इस तरह से फिर यहां लिखते थे फाइव अब पढ़ करते थे हम टेबल 2 * 1 आ 2 2 * 2 आ 4 तो क्या करते थे टू को लिखते थे ऊपर फोर को लिखते थे यहां फिर करते थे सब्सट्रैक्शन फाइव में से फोर गया वन और इसको डिक्लेयर कर देते थे रिमाइंडर है ना अब ये पूरा पूरा डिवाइड नहीं हो सकता जब हम कौन सी तरह का डिवीजन करते थे ये होता था इंटी जर डिवीजन यानी हम पॉइंट लगाकर फिर जीरो उतारना अभी वो सब नहीं करते थे कि भाई वन मेरा रिमाइंडर हो गया टू से अगर फाइव को डिवाइड करेंगे तो टू मेरा पूरा पूरा आएगा और वन मेरा रिमाइंडर आएगा तो ये जो पूरा पूरा है ये तो आपको स्लैश से मिल जा रहा है ये रिमाइंडर कैसे मिलेगा तो अगर मैं लिख दूं 5 मडल 2 तो कितना डिवाइड हुआ इस बात से फर्क नहीं पड़ता ये सिर्फ रिमाइंडर दे देता है आपको तो इसका वैल्यू आएगा वन जो बेसिकली आपको यहां पर दिख रहा है इसका क्या यूज़ है सर ये तो बहुत कम यूज़ होगा काफी ज्यादा इसका यूज़ होता है हम आगे चलके देखेंगे बहुत सारे प्रैक्टिकल एप्लीकेशंस हैं जिसमें हम इसको यूज़ कर सकते हैं जैसे कि एग्जांपल क्या हो सकता है मान लीजिए मैं आपको कोई भी नंबर दूं बोलूं बताइए ये ऑड है या इवन है कैसे आप बताएंगे आप उस नंबर को टू से मॉड्यूस कर लीजिए टू से डिवाइड कर लीजिए और जो भी रिमाइंडर आएगा देखिए टू से आप किसी भी चीज को डिवाइड करें रिमाइंडर या तो रो आएगा या वन आएगा है ना टू से अगर बेसिकली टू रिमाइंडर आ जाता तो तो डिवाइड ही हो जाता तो या तो ज़ीरो आएगा या वन आएगा अगर रिमाइंडर रो आया यानी पूरा पूरा कोई चीज डिवाइड हो गया है तो वो क्या होगा वो इवन नंबर होगा और अगर रिमाइंडर वन आ गया तो वो ऑड नंबर होगा तो इस तरह के एप्लीकेशंस में भी ये मॉड्यूस ऑपरेटर काफी ज्यादा यूज़ यहां पर होता है तो हमने अरिमिल्ली पांच के पांच प्स माइनस मल्टीप्लाई डिवाइड तो हमको पता ही था मॉड्यूस भी हमने देख लिया किस तरह से यहां पर यूज होता है तो मॉड्यूस देखकर ये मत समझिए कि ये परसेंटेज का साइन है दिस इज मॉड्यूस साइन ठीक है जब हमने एरिथ मेे ऑपरेटर पढ़ लिया है अब हम समझेंगे एरिथ मेे िक इंस्ट्रक्शन का क्या मतलब है एरिथ मेे िक इंस्ट्रक्शन क्या है देखिए अरिमिल्ली वेरिएबल होना चाहिए लेफ्ट में इक्वल टू के ये हमने ऑलरेडी समझा एंड राइट साइड में क्या-क्या होना चाहिए कॉमिनेशन ऑफ वेरिएबल हो सकता है एरिथ मेे िक ऑपरेटर हो सकते हैं और कांस्टेंट्स हो सकते हैं है ना यानी इक्वल टू के लेफ्ट में तो एक वेरिएबल होना जरूरी है और राइट में क्या क्या हो सकता है राइट में हो सकता है चाहे वेरिएबल आपके हो चाहे आपके पास कांस्टेंट्स हो लिटरल्स हो या आपके अथमे अलग-अलग ऑपरेटर्स हो है ना तो देखिए क्या है अगर अगर यहां पर अभी हम डिफाइन कर रहे हैं देखिए मैंने कोई वेरिएबल डिफाइन किया इंट ऐड फिर यहां पर फ्लोट बहुत सारे डिफाइन किए ऐड की वैल्यू दी cot2a फार्मूला लिख दिया है एक्सप्रेशन लिख दिया है अब ये क्या करेगा c c का बेसिकली जो जो कंपाइल कर रहा है जो रन कर रहा है इस पूरे को पहले इवेलुएट करेगा इस पूरे की वैल्यू निकालेगा और उसको उठाकर लेफ्ट में डाल देगा यही होते हैं एरिथ मेे िक इंस्ट्रक्शन जब एक इक्वल टू है लेफ्ट में एक वेरिएबल है और राइट से चीजों को आप उठाकर लेफ्ट के अंदर डाल रहे हैं एरिथ मेे िक इंस्ट्रक्शन जो है वो तीन टाइप के एरिथ मेे िक इंस्ट्रक्शंस होती हैं एक होती है इंटी जर मोड एक होती है रियल मोड और एक होती है मिक्स्ड मोड इनका क्या मतलब है इनका मतलब यह है कि जो इंटी जर मोड है उसमें सिर्फ इंटी जर्स ही हैं यानी अगर आप इंटी जर्स के बीच में कोई काम कर रहे हैं तो उसको बोला जाएगा इंटी जर मोड जैसे मैंने बोला 5 / 2 की वैल्यू एक्चुअली निकल कर आती है 2 क्यों क्योंकि ये दोनों इंटी जर हैं इसका रिजल्ट भी इंटी जर होगा तो दोनों को डिवाइड किया तो रिजल्ट आ गया टू रियल मोड क्या है रियल वो है जहां पर सिर्फ बेसिकली डॉट वाले नंबर्स हो यहां मान लीजिए मैं बोल रहा हूं 3.14 * 2.5 इसका जो वैल्यू आएगा कुछ आएगा डॉट में ही यानी ये भी रियल है ये भी रियल है यहां पर भी क्या होगा रियल होगा और मिक्स्ड का क्या मतलब है मिक्स्ड का मतलब है आपके पास दोनों है मान लीजिए मैं बोलता हूं 5.0 / 2 तो इसका रिजल्ट क्या आएगा इसका रिजल्ट आएगा 2.5 यानी जब मिक्स्ड है तो होगा मिक्स्ड मोड इंटी जर मोड और रियल मोड या तीन टाइप के एरिथ मेे िक इंस्ट्रक्शन आपके हो सकते हैं ठीक है अब जब मल्टीपल टाइप के अरिमिल्ली आएगा रो क्योंकि क्या होगा टू पूरा का पूरा रिमाइंडर है जब पांच से डिवाइड करेंगे तो टू पूरा का पूरा रिमाइंडर है कोश एट यहां मेरा कुछ भी नहीं आया है वो हो जाएगा रो 5.0 को जब मैंने टू से डिवाइड किया तो रिजल्ट आ गया 2.5 जो भी जस्ट पढ़ कर आए ऐसा कैसे हो पा रहा है पहले समझिए देखिए अगर एरिथ मेे ऑपरेशन एक इंटी जर और इंटी जर के बीच में हो रहा है तो दैट ऑलवेज यील्ड्स एन इंटी जर यील्ड्स का क्या मतलब है रिजल्ट क्या आएगा अगर इंटी जर इंटी जर के बीच में ऑपरेशन हुआ तो हमेशा इंटी जर ही रिजल्ट आएगा जो मेरे को यहां दिख रहा है यहां भी दिख रहा है है ना पॉइंट नहीं लगा इनके सामने अगर रियल और रियल के बीच में हो रहा है तो आंसर भी रियल आएगा यानी अगर मैं 5.0 2.0 को डिवाइड कर रहा हूं तो आंसर आ रहा है 2.5 अगर 2.0 और 5.0 को डिवाइड कर रहा हूं तो आंसर आ रहा है 0.4 है ना यानी दो रियल थे यहां भी रियल आया दो रियल थे यहां भी रियल आया असली मामला कब शुरू होता है जब एक इंटी जर और एक रियल के बीच में आप करें अगर आप एक इंटी जर और रियल के बीच में करें तो भी जो आंसर आएगा वह रियल आएगा रियल मतलब यहां पर क्या है हम मैथ का टर्म यूज़ कर रहे हैं रियल नंबर दिस मींस फ्लोटिंग पॉइंट नंबर्स तो यहां पर क्या हो रहा है रियल ही रिजल्ट आएगा ऐसा क्यों हो रहा है जभी भी एक इंटी जर मान लीजिए क्या है यह एक इंटी जर है यह एक फ्लोट है जभी भी एक इंटी जर और फ्लोट के बीच में ऑपरेशन हो रहा है तो कंप्यूटर समझ जाता है कि भाई इनमें से एक ना एक फ्लोट है यानी फाइनल रिजल्ट शायद फ्लोट में आ सकता है तो मैं क्या करूं व क्या करता है पहले जितने भी इंटी जर हैं इन सबको कन्वर्ट कर लेता है रियल में यानी फ्लोट में यानी क्या करेगा इंटी जर इज फर्स्ट प्रमोटेड टू रियल एंड देन ऑपरेशन इज परफॉर्म्ड तो ये क्या करता है अगर पूरे एक्सप्रेशन में उसको एक भी रियल मिल गया तो क्या करेगा सबको पहले रियल में कन्वर्ट कर लेगा जैसे ही वो पहले रियल में कन्वर्ट करेगा तो क्या होगा सेकंड रूल फिर से फिर से अप्लाई हो जाएगा क्योंकि सारे रियल हैं तो रिजल्ट क्या होगा रियल होगा तो ये आपको समझ आना चाहिए अगर आप कहीं पर भी एग्जैक्ट अपना जो रिजल्ट है वो चाहते हैं आप चाहते हैं फ और टू का डिवीजन 2.5 आए तो दोनों में से एक नंबर का रियल होना जरूर है वरना रिजल्ट क्या आएगा टू ही आपका रह जाएगा है ना तो ये हुआ मेरा इंटी जर एंड फ्लोट का कन्वर्जन अब ये जो कन्वर्जन है इसको थोड़ा सा डीप में समझते हैं देखिए टाइप कन्वर्जन क्या है ये क्या हुआ हमने टाइप कन्वर्ट किया यानी इंटी जर को हमने फ्लोटिंग पॉइंट में कन्वर्ट कर दिया तो टाइप कन्वर्जन जो है वो एक्चुअली दो टाइप का होता है दोस्तों एक होता है इंप्ली कन्वर्जन और एक होता है एक्सप्लिसिट कन्वर्जन इंप्लीड कन्वर्जन को कोर्जन भी बोलते हैं एक्सप्लिसिट कन्वर्जन को कहीं पर आप देखेंगे कास्टिंग भी बोला जाता है इस पूरे के पूरे को भी कई बार टाइप कास्टिंग बोल दिया जाता है ठीक है इंप्ली सिट कन्वर्जन का क्या मतलब है इंपलीसिट कन्वर्जन का मतलब है c ऑटोमेटिक चेंजेज वन टाइप टू अनदर व्हेन नीडेड यानी वो क्या करेगा एक टाइप को दूसरे में कन्वर्ट कर देगा जैसे अभी हमने देखा क्या हमने यहां देखा 5.0 को टू से डिवाइड किया तो क्या करेगा पहले 2 को 2.0 बनाएगा उसके बाद दोनों को डिवाइड करेगा और फाइनली रिजल्ट निकाल देगा तो ये जो 2 को 2.0 बनाने की जो हरकत है इसको बोला जाता है इंपलीसिट कन्वर्जन यानी c को पता है कि यहां पर कोई गड़बड़ नहीं होने वाली है सब बढ़िया है मैं इसको अपने आप यहां पर कन्वर्ट कर देता हूं देखिए यहां पर राइट में हमने क्या दिया हुआ है मैं थोड़ा सा साइड में हो जाता हूं ताकि आपको दिखता रहे थोड़ा सा यहां पे साइड में हो जाता हूं आपको दिखाने के लिए देखिए अब यहां पर क्या हो रहा है ये हमको दिख रहा है पूरा का पूरा चार्ट यानी ये कन्वर्जन है जो ऑटोमेटिक हो सकता है इंट से अन साइड इंट बन जाएगा लॉन्ग बन जाएगा अनसाइंड लॉन्ग लॉन्ग लॉन्ग अनसाइंड लॉन्ग लॉन्ग लॉन्ग फ्लोट डबल लॉन्ग डबल यानी ये क्या है ये एक के बाद एक टाइप प्रमोशन है यानी ये उससे बड़ा उससे बड़ा उससे बड़ा बड़े वाला जो प्रमोशन है वो क्या होता है वो सी कंपाइलर खुद ही आपका करते रहता है आपको ये पूरा पूरा नोट्स में एनीवे मिलने वाला है है ना तो ये क्या है ये इंप्ली सिट है यह अपने आप बेसिकली कन्वर्ट जो है कंपाइलर कर देता है यानी यह क्या है इसको और क्या बोलते हैं प्रमोशन यानी स्मॉलर टाइप्स आर ऑटोमेटिक प्रमोटेड टू इंट इन एन एक्सप्रेशन टू बेसिकली जो भी नेक्स्ट है ये इंट होगा या जो भी नेक्स्ट होगा उसमें ऑटोमेटिक इसको कन्वर्ट कर दिया जाएगा दूसरा क्या है असाइनमेंट कन्वर्जन जो हम खुद करते हैं यानी जब आप किसी भी नंबर को किसी किसी भी कंटेनर में असाइन करेंगे तो क्या होगा मान लीजिए मैं लिख दूं जो हमने पहले बात की थी इंटी जर a = 5.3 तो ये क्या करेगा हमने असाइनमेंट से कन्वर्जन किया तो क्या करेगा पथ को मार देगा और a के अंदर क्या रख देगा फव को रख देगा ऑटोमेटिक है ना तो ये है असाइनमेंट कन्वर्जन ये हमने अपने आप किया है यानी बड़े से टाइप छोटा किया है फ्लोट बड़ा है इंटी जर छोटा है बड़े से हमने छोटा अपने आप किया है तो क्या होगा असाइनमेंट कन्वर्जन होगा या इसको क्या बोला जाता है कास्टिंग भी बोला जाता है कई बार अगर आप ये चाहते हैं मान लीजिए मुझे फ और ट ये मेरे दो वेरिएबल के अंदर है कैसे हैं मान लीजिए एक है मेरा इंटी जर a = 5 इंटी जर बी इक्व 2 अब मैं चाहता हूं इनका डिवीजन करना पर मैं चाहता हूं ये क्या हो ये पूरे पूरे नंबर में आए यानी ये एग्जैक्ट मेरा रिजल्ट जो है वो 2.5 आना चाहिए बट ये तो मेरे वेरिएबल हैं मैं a प0 थोड़ी लिख दूंगा b प0 थोड़ी लिख दूंगा ये तो मेरे वेरिएबल हैं तो आप इस केस में क्या कर सकते हैं आप ऐसे लिख सकते हैं मान लीजिए मैं लिख दूंगा फ्लोट a यानी a से पहले आप क्या कर दें दो ब्रैकेट लगाकर टाइप बता दें कि यार पहले a को कन्वर्ट कर देना फ्लोट में तब बेसिकली b से मान लीजिए डिवाइड करना तो आप क्या कर सकते हैं टाइप नेम आप पहले ब्रैकेट में दे सकते हैं टू एक्सप्लीसिटली कन्वर्ट टू एनीथिंग अगर आपको इस तरह का कोई भी कन्वर्जन करना है तो आप टाइप कन्वर्जन इस तरह से कर सकते हैं टाइप कन्वर्जन में और हम क्या देख सकते हैं देखिए यहां पर एक और इस तरह की पूरी की पूरी लिस्ट हमने यहां पर दी है क्या 2/9 है तो रिजल्ट क्या आ गया जीरो आ गया अगर 2.0 बा 9 होता तो रिजल्ट क्या आ जाता तब भी जीरो आता माफ कीजिएगा एक बार देख लेते हैं यह बेसिकली हमने यह मानकर लिखा है कि रिजल्ट जो है आपका वो इंटी जर है या फ्लोट है तो अगर रिजल्ट आपका यहां पर आई एटी है या रिजल्ट फ्लोट है तो ये क्या हो रहा है असाइनमेंट कन्वर्जन हम देख रहे हैं अब 2/9 में आप कुछ भी करें वैसे ही ज़ीरो आ रहा था ये भी ज़ीरो आ गया 2/9 यहां फिर से क्या करेगा ये डिवाइड करने की कोशिश करेगा पहले इसको रियल में कन्वर्ट करेगा रियल में कन्वर्ट करके एक्चुअल मतलब निकालेगा मान लीजिए प2 समथिंग जो भी रिजल्ट आया बट फिर आपने उसको इंटी जर में असाइन कर दिया तो क्या आ गया यहां भी जीरो आ गया तो इस तरह से यहां पर चलता रहेगा बहुत सारे एग्जांपल हैं जो आप यहां चलाकर देख सकते हैं अगर रिजल्ट आप का फ्लोटिंग पॉइंट है तो आपको इस तरह से एग्जैक्ट वैल्यूज यहां पर मिलती चली जाएंगी ठीक है एक एग्जांपल दोस्तों हम यहां पर और देखते हैं जिससे आपको समझ आए कि ये जो बेसिकली जो कन्वर्जन है चीजों का या जो अ बेसिकली टाइप्स है वो किस तरह से काम करते हैं तो पहले लेफ्ट में आप कोड देखिएगा हमने कोड क्या लिखा है a b = 2 है एक मेरा फ्लोटिंग पॉइंट है x व्हिच इज 99.5 यानी यहां क्या है a की वैल्यू कोई नहीं है अभी b की वैल्यू 2 है x की वैल्यू है 99.5 y की वैल्यू है 10.5 z की वैल्यू है 50 एक डबल मैंने डी डिक्लेयर किया है जो ब्लैंक है उसके बाद मैं ये एक्सप्रेशन लिखता हूं a की वैल्यू मैंने पूरा का पूरा एक्सप्रेशन लिख दिया उसके बाद मैंने a की वैल्यू कर दिया प्रिंट तो अगर मैं इसको इंटी जर की तरह सेव कर रहा हूं देखिए मैंने कहां असाइन किया है a में असाइन किया है एक इंटी जर है तो फाइनल रिजल्ट मेरा क्या आया 33 आया एक बार इसको चलाक देखते हैं अगर मैं इसको एक्सप्रेशन को चला रहा हूं तो एक्सप्रेशन कैसे चलेगा फिर से मैं थोड़ी देर के लिए राइट में चला जाता हूं देखिए क्या है इसने देखा 50 आपका लॉन्ग इंट है है ना 50 क्या है आपका हमने लॉन्ग इंट डिक्लेयर किया है तो लॉन्ग इंट है टू मेरा इंट है तो ये क्या करेगा इन दोनों का जो रिजल्ट आएगा वो लॉन्ग इंट में आएगा यानी ये आ जाएगा 25 ये टू एक इंटी जर है फ्लोट एक क्या है 99.5 क्या है फ्लोट है इन दोनों का रिजल्ट कैसा आएगा हमेशा बड़े में प्रमोट किया जाएगा यहां इंट को लॉन्ग इंट में इसने कन्वर्ट किया था यहां इंट को फ्लोट में कन्वर्ट करेगा रिजल्ट आएगा फ्लोट डबल मेरा डबल ही रहा उसके बाद लॉन्ग इंट और फ्लोट के बीच में बेसिकली कन्वर्जन हो रहा है तो क्या होगा लॉन्ग इंट बन जाएगा डबल बेसिकली मेरा डबल ही रहा और लॉन्ग इंट और डबल को जब हम कन्वर्ट करेंगे तो डबल सबसे बड़ा होता है फाइनल रिजल्ट मेरा डबल में आएगा बट उठाकर मैंने क्योंकि पूरे के पूरे को कहां डाल दिया फाइनली एक इंटी जर के अंदर डाल दिया a के अंदर डाल दिया तो 33.5 का जो प 5 है वो बेसिकली हम खा गए और 33 बचा अब यहां पर आपके दिमाग में एक चीज आ रही होगी सर ये 50/2 में पहले ये 50/2 ही क्यों किया ये 2 + 2 क्यों नहीं किया या 2 * 99.5 में ये बेसिकली 2 * 99.5 पहले क्यों किए 9.5 - 10.5 क्यों नहीं किया बिल्कुल सही क्वेश्चन है क्वेश्चन आपका गलत नहीं है उसको अब हम देखेंगे नेक्स्ट चीज में है ना अभी हमने क्या देखा टाइप कन्वर्जन यानी किस तरह से टाइप प्रमोशन किए जाते हैं किस तरह से टाइप डाउनकास्टिंग की जाती है यानी हम चीज को छोटा करते हैं अगला जो पॉइंट हम देखने वाले हैं वह यही है कि यह पता कैसे चले कि किसको पहले इस्तेमाल करना है वह बेसिकली आपको समझ आता है रार्ज ऑफ ऑपरेशन से यानी जब हम देखिए मैथ पढ़ते थे अगर इस तरह का कोई बड़ा फार्मूला है तो हम उसके लिए क्या यूज़ करते थे ये बॉड मास का हमारे पास एक फार्मूला होता था बॉड मास या इसको कुछ जगह पेड मास भी बोला जाता है कि भाई सबसे पहले ब्रैकेट को सॉल्व कर लीजिए फिर ऑर्डर को सॉल्व कर लीजिए ऑर्डर मतलब पावर को सॉल्व कर लीजिए फिर डिवाइड फिर मल्टीप्लाई फिर ऐड फिर सबट क्ट बस ये आप करते जाइए तो काम हो जाएगा लेकिन सी में थोड़ा सा इतना आसान नहीं है एगजैक्टली आप बॉड मास या पेड मास को यूज़ नहीं कर सकते हैं किस तरह से यूज़ किया जाता है देखिए ये होती है रार्ज ऑफ ऑपरेशन रार्ज क्या है फर्स्ट प्रायोरिटी सबसे पहले प्रायोरिटी किसकी होगी पहले मल्टीप्लाई चलेगा डिवाइड चलेगा या मॉड्यूस चलेगा इन तीनों की सेम प्रायोरिटी है सेम रार की है इसको प्रेसीडेंट भी बोला जाता है सेम प्रेसीडेंट है मल्टीप्लिकेशन डिवीजन मॉड्यूलर यानी किसी भी फॉर्मूला में किसी भी एक्सप्रेशन में सबसे पहले मल्टीप्लाई डिवाइडर मॉड्यूस चलेंगे उसके बाद प्लस और माइनस चलेगा और इक्वल टू चलेगा सबसे आखिर में तो अगर मैं यहां एक एग्जांपल देख लें हम एग्जांपल है i = 2 * 3/4 + 4/4 + 8 - 2 + 5/8 ये इतना बड़ा सा एक्सप्रेशन आ गया कैसे करेंगे स्टेप बाय स्टेप इवैल्यूएशन तो देखिए सबसे पहले क्या किया सबसे पहला ऑपरेशन स्टार हमने क्या देखा स्टार डिवाइड और मल्टीप बेसिकली अ मॉड्यूस इनकी वरायटी सबसे ज्यादा है सबसे पहले मल्टीप्लाई कर लिया तो 2 * 3 आ गया मेरा 6 तो ये क्या बचा 6 / 4 प्लस बाकी पूरा का पूरा मैंने एज इट इज फॉर्मूला उतार दिया उसके बाद फिर मैंने देखना शुरू किया प्लस डिवाइड डिवाइड मिल गया डिवाइड प्रायोरिटी वन है तो डिवाइड कर लिया 4/4 को मैंने वन लिख दिया बाकी एज इट इज उतार दिया फिर वापस आए देखने के लिए देखिए देखते जा रहे हैं देखते जा रहे हैं देखते जा रहे हैं एक डिवीजन फिर से मिल गया 5/8 5/8 क्या होगा ज़ीरो होगा इसको ज़ीरो कर दिया बाकी एज इट इज उतार दिया अब मैंने बेसिकली मल्टीप्लाई डिवाइड और मॉड्यूस खत्म कर दिया अब आ गया प्लस माइनस है ना तो बचों में सबसे पहले प्लस कर लेंगे तो 1 + 1 हो गया 2 + 8 - 2 + 0 2 + 8 10 - 2 + 0 10 - 2 8 + 0 फाइनली आ गया 8 और उसके बाद क्या करेंगे इक्वल टू की प्रायोरिटी लास्ट है 8 को उठा करके i में डाल देंगे तो ये जो सॉल्यूशन है ये इस तरह से हम बेसिकली स्टेप बाय स्टेप कर सकते हैं मेरा कोई भी एक्सप्रेशन होगा उसको इस तरह से सॉल्व करेंगे अभी भी इसमें एक प्रॉब्लम बच जाती है क्या जब मैं पहली बार में सॉल्व कर रहा था तो मल्टीप्लाई डिवाइड और मॉड्यूस की जो बेसिकली प्रायोरिटी है वो तो सेम है है ना तो पहले 2 * 3 क्यों किया पहले 3/4 क्यों नहीं किया क्योंकि देखिए आपको ये समझना पड़ेगा कि वैल्यू चेंज हो जाती अगर मैं कर रहा हूं 2 * 3 आ गया 6 6/4 आया 1 है ना तो मैं दोबारा लिखता हूं 2 * 3/4 है अगर मैं मल्टीप्लाई को पहले करूं तो 2 * 3 6 6/4 1 क्योंकि क्या होगा पॉइंट तो लूज हो जाएगा इंटी जर हम कर रहे हैं अगर मैं पहले डिवाइड कर देता तो 3/4 क्या आ जाता 0 2 * 0 0 तो यानी मैंने पहले क्या सॉल्व किया इस बेसिस पर मेरा जो फाइनल रिजल्ट है वो चेंज हो जाता है तो कंसिस्टेंटली कैसे बताएंगे कि क्या यूज करना चाहिए वो आएंगे हम नेक्स्ट टॉपिक पर इसके बाद यानी रार्ज ऑफ ऑपरेशन का पहले क्या करेंगे एक जो अ मेरा एग्जांपल है वो और देख लेंगे उसके बाद हम आएंगे ये देखने पर कि जिनकी सेम यरार की है सेम प्रायोरिटी है उनको कैसे बताएंगे क्या पहले होगा है ना पहले एक बार ये देखिए क्या कर रहे हैं हम अगर मेरे पास अलजेब्रिक एक्सप्रेशन है तो उसको c में किस तरह से लिखना है ये भी आपको समझ आना चाहिए यानी अगर मैं नॉर्मली जब मैं मैथ में लिखता था मैं लिखता हूं a एक b एक मतलब मल्टीप्लाई a * b - c मल्टी d तो मैं इसको किस तरह से लिखूंगा मैं डायरेक्टली ऐसे ही लिख सकता हूं a म b c टी d क्योंकि वहां पर भी मैथ में भी हम पहले मल्टीप्लिकेशन करते हैं यहां पर भी हम पहले मल्टीप्लिकेशन करते हैं माइनस बाद में करते हैं तो चल जाएगा अगर मैंने मैथ में लिखा हुआ था m प् + n a + b है ना ऐसे ब्रैकेट्स में तो पहली बात तो c में हर जगह कोई भी ऑपरेशन इंपलीसिट नहीं होता यहां ये हमको मैथ में बाय डिफॉल्ट पता होता था कि दो ब्रैकेट के बीच में यहां क्या करना है मल्टीप्लाई करना है बट यहां आपको लिखना पड़ेगा तो हम क्या लिखेंगे और एडिशन क्योंकि पहले होना है मल्टीप्लिकेशन बाद में होना है तो इनको आप ब्रैकेट के अंदर लिखेंगे m + n ब्रैकेट के अंदर लिखा यहां लगाया मल्टीप्लाई a + b यहां देखिए क्या है 3 * 2 + 2 * x + 5 तो 3 * x x की पावर लिखा हुआ है एक्चुअली 3 x की पावर 2 तो हमने क्या लिखा 3 * x * x c में पावर के लिए कोई भी बेसिकली ऑपरेटर नहीं होता है पावर आप डायरेक्टली नहीं कैलकुलेट कर सकते हैं तो मैं x स् को क्या करूंगा x स् को मैं कर दूंगा x * x तो 3 * x * x + 2 * x + 5 ये देखिए ये डिवीजन है a + b + c / d + e यहां हम जब मैथ में पढ़ते हैं तो हमको पता है पहले प्लस करना है फिर डिवाइड करना है बट बाय डिफॉल्ट बॉर्ड मास में क्या होगा जब हम यहां भी करेंगे तो क्या होगा डिवाइड की मल्टीप जो प्रायरिटी है वो ज्यादा होगी तो मुझे इनको ब्रैकेट के अंदर बंद करना पड़ेगा a + b + c डिवाइड बाय d + c दोनों को अलग-अलग ब्रैकेट में बंद कर दिया है ठीक है यहां भी इसी तरह से हो रहा है 2by तो 2 * b * y को डिवाइड करना है किससे डिवाइड करना है d+ 1 से तो d + 1 को मैंने ब्रैकेट में कर दिया कि भाई प्लस पहले होना चाहिए - x / 3 * z + y क्योंकि यहां पहले से ब्रैकेट लगा हुआ था ब्रैकेट मैंने यहां पे ट्रांसफर कर दिया तो धीरे-धीरे आपको समझ आ जाएगा कि जो मैथ का फार्मूला है उसको हम c के एक्सप्रेशन में किस तरह से लिखेंगे लास्ट प्रॉब्लम मेरी क्या बची जो भी हम डिस्कस कर रहे थे कि जहां प्रायोरिटी सेम है मल्टीप्लाई डिवाइड में वहां कैसे डिसाइड करें कि पहले क्या चलेगा वहां यूज होता है एसोसिएटिविटी देखिए मुझे पता है हम चीजों को काफी स्पीड से पढ़ रहे हैं थोड़ा सा ओवर वेल्मिनिक है ये फॉर्मूला है 12/4 म बा 6 अब देखिए अगर मैं डिवाइड को पहले करूं तो 12/4 क्या आएगा 3 आएगा है ना 12/4 चार से डिवाइड करेंगे 12 को आ जाएगा 3 3 * 6 आ गया 18 अगर मैं मल्टीप्लाई पहले कर देता तो 4 * 6 6 * 4 24 12 को 24 से डिवाइड करता रिजल्ट आ जाता रो तो यानी ये बात तो समझ आ गया य यहां रो आया 0.5 लिख दीजिए ब एक्चुअली रिजल्ट रो आएगा क्योंकि ये क्या है इंटी जर है तो एक तरफ आया रो एक तरफ आया 18 तो पहले क्या सॉल्व करें तो देखिए यही होता है ऑपरेटर बेसिकली ऑपरेटर एसोसिएटिविटी प्रेसीडेंट क्या था डिटरमाइंड द इवेलुएशन ऑर्डर ऑफ ऑपरेटर्स जो हम प्रेसिडेंस पहले से पढ़कर आए हैं पर एसोसिएटिविटी क्या है ऑर्डर ऑफ ऑपरेशन फॉर ऑपरेटर विद द सेम प्रेसीडेंट यानी प्रेसीडेंट सेम है जैसे मल्टीप्लाई डिवाइड और मॉड्यूस की प्रेसीडेंट सेम है तो उनमें पहले किसको कर उस केस में लगेगा एसोसिएटिविटी और एसोसिएटिविटी या तो लेफ्ट टू राइट होती है या राइट टू लेफ्ट होती है है ना यानी पहले वो बोलेगा अगर इस तरह के ऑपरेटर हैं तो लेफ्ट से राइट की तरफ सॉल्व करिए या राइट से लेफ्ट की तरफ सॉल्व करिए तो अगर हम यहां देखें तो 100/1 * 10 है ना तो हमने क्या देखा इन ये बेसिकली जो भी मल्टीप्लाई डिवाइड मॉड्यूस है इनकी एसोसिएटिविटी क्या होती है लेफ्ट टू राइट होती है तो हमेशा क्या करेंगे लेफ्ट वाले को पहले सॉल्व करेंगे तो जो लेफ्ट में है यानी जिसके लेफ्ट में कोई भी एमिगस पार्ट नहीं है ये डिवाइड के लेफ्ट में पूरा का पूरा एक नंबर है जबकि इस मल्टीप्लाई के लेफ्ट में एमिगस है यानी 100/1 है तो क्या करेंगे पहले लेफ्ट वाले को सॉल्व कर लेंगे तो 100 / 10 100 को 10 से डिवाइड करेंगे 10 आ गया इस 10 को एज इट इज उतार लिया अब 10 * 10 करेंगे अब आ गया 100 तो एसोसिएटिविटी क्या होगी इन चीजों की लेफ्ट टू राइट एसोसिएटिविटी होगी एसोसिएटिविटी पता कैसे चलेगी बिल्कुल पता चल जाएगी देखिए यहां पर लिखी हुई है अगेन अभी देखकर डरना नहीं है इनमें से बहुत सारी चीजें ऐसी हैं बहुत सारे ऑपरेटर ऐसे हैं जो अभी हमने यूज ही नहीं किए मोस्टली एक्चुअली यूज़ नहीं किए हमको कहां ध्यान देना है मल्टीप्लिकेशन देखिए यहां पर और एडिशन यानी मल्टीप्लाई डिवाइड और एस्क सॉरी मॉड्यूस की एसोसिएटिविटी क्या है लेफ्ट टू राइट है एडिशन की एसोसिएटिविटी क्या है प्लस माइनस की भी लेफ्ट टू राइट है यानी इस तरह के जो भी फॉर्मूले आपको मिले आपको हमेशा क्या करना है पहले ढूंढना है हायर प्रेसीडेंट कौन सा है अब अगर मल्टीप्लाई डिवाइड मॉड्यूस है उनमें पहले क्या होगा उनमें पहले लेफ्ट टू राइट चलेंगे जहां लेफ्ट से चलते रहिए जो ऑपरेटर मिलता जाए उसको सॉल्व करते जाइए जब एक प्रायोरिटी के सारे खत्म हो गए हैं फिर अगली प्रायोरिटी में फिर से यही करिए लेफ्ट टू राइट चलते रहिए जो पहले मिल जाए उसको सॉल्व कर दीजिए ये हमने आपके नोट्स के लिए लगाया है कि आपको पूरा का पूरा एसोसिएटिविटी चार्ट पता हो आगे चलके हम ये सारे के सारे ऑपरेटर्स को पढ़ने वाले हैं ये बाकी ऑपरेटर भी ताकि आपको समझ आ जाए अभी हम कौन से देख रहे हैं सिर्फ हम देख रहे थे एरिथ मेे िक इंस्ट्रक्शन अगर आप भूल गए हो अरिमिल्ली है इसके बाद दो छोटी-छोटी चीजें और देखेंगे क्या सबसे पहला तो हम देखेंगे शॉर्ट हैंड ऑपरेटर्स यानी एक क्या तरीका होता है एक तरीका यह है कि आप लिख सकते हैं प्लस इक्वल टू इसका क्या मतलब है इसका मतलब है मान लीजिए हमने लिखा है x x + = 4 तो ये किस चीज का शॉर्ट हैंड है ये शॉर्ट हैंड है x = x + 4 का अगर कहीं पर आपको मान लीजिए ऐसा होता है कई बार कि हमको अप उस वेरिएबल की वैल्यू में ही चेंज करना है मैं बोल रहा हूं इस वेरिएबल में जो भी है उसमें दो ऐड कर दीजिए तो आप नॉर्मली क्या लिखेंगे वेरिएबल में चार ऐड करा मान लो या चार ऐड करना है तो वेरिएबल में चार ऐड किया उसको वेरिएबल में ही असाइन कर दिया यहां देखिए सी में चल जाएगा मैथ में बहुत ही अजीब लगता है आपको x = x + 4 पर यहां पर ये चल जाएगा क्यों ये क्या करेगा इक्वल टू ढूंढेगा इक्वल टू के जाएगा राइट में x + 4 x + 4 करेगा उठाकर सीधे वापस इधर डाल देगा वेरिएबल x x के अंदर ही डाल देगा इसको यह बात इस बात से मतलब नहीं है कि इस फॉर्मूला में आपने जो लिखा है वही वेरिएबल आपने यहां भी लिखा है इसको इस बात से कोई मतलब नहीं है अब इस टाइप की वैल्यूज बार-बार बहुत बार आप देखेंगे प्रोग्रामिंग में हमको यूज़ करनी पड़ती है कि वे वेरिएबल की वैल्यू को अपडेट करना है तो बोल रहा है अगर आपको वेरिएबल में ही कुछ ऐड करना है तो आप उसको डायरेक्टली किस तरह से लिख सकते हैं x + = 4 ये एक ऑपरेटर है प्स इक्वल टू इसको बोलते हैं शॉर्ट हैंड ऑपरेटर यानी ये सारे इस इन सब इस तरह के सारे ऑपरेटर्स को बोलते हैं शॉर्ट हैंड ऑपरेटर तो x + = 4 का मतलब है x = x + 4 x - इ 4 का मतलब है x = x - 4 x स्टार 4 का मतलब है x = x स्टार 4 तो ये आपको समझ आ गया इक्वल टू के अगर पहले कुछ भी लगा हुआ है तो उसको आप ये मान लीजिए उस पहले लेफ्ट वाले को उठाइए वो ऑपरेटर लगाइए राइट वाले के साथ पूरा का पूरा वही लगा सकते हैं पूरे में ट्रू है टू बेसिकली हमारा मॉड्यूस ऑपरेटर तक है ना तो ये हो गए शॉर्ट हैंड ऑपरेटर इससे भी शॉर्ट हैंड एक होता है जिसको बोलते हैं यूनिरी ऑपरेटर यानी एक तो हो गया आपका नॉर्मल यानी अगर आपको मान लीजिए किसी चीज का साइन चेंज करना है आपको नेगेटिव करना है तो आप क्या करेंगे माइनस y लिख देंगे यानी y की वैल्यू मान लीजिए फ है मैंने लिख दिया - y तो वो क्या हो गया -5 हो गया है ना ये तो मैथ में हम पढ़कर आए हैं तो ये कौन सा ऑपरेटर है अभी तक हमने जितने एरिथ मेे िक ऑपरेटर पढ़े सबको दो-दो चीजें चाहिए थी प्लस माइनस मल्टीप्लाई डिवाइड मॉड्यूस करने के लिए क्या चाहिए दो-दो नंबर चाहिए दो नंबर पे लगता था यूनिरी ऑपरेटर का मतलब है जो एक ही नंबर पर लग जाए एक ही वेरिएबल पर लग जाए तो अगर मैंने किसी की वैल्यू माइनस कर दी तो एक ही वेरिएबल बस यूज हुआ उसकी वैल्यू नेगेटिव हो गई वो नेगेटिव होगा तो पॉजिटिव हो जाएगा पॉजिटिव होगा तो नेगेटिव हो जाएगा उसके अलावा अगर किसी की वैल्यू में सिर्फ वन ही ऐड करना है देखिए एक तरीका क्या था मैं लिख रहा था x = x + 1 मैंने कहा यार इसमें बड़ा टाइम लग रहा है इसको छोटा कर दीजिए आपने कहा चल तू एक काम कर x + = 1 लिख दे ये भी क्या माना जाएगा x + = 1 भी क्या माना जाएगा x = x + 1 ही माना जाएगा मैं बोल रहा हूं यार बड़े-बड़े एडिशन सबस्ट्रेक्शन तो ठीक है बट ऐसा बहुत बार होता है आगे चलके हम लूप देखेंगे जब तो उसमें भी देखेंगे कि यार बस इसकी वैल्यू एक-एक करके बढ़ाते जानी है बार-बार इसकी वैल्यू एक ऐड कर दो एक रिमूव कर दो एक माइनस कर दो या एक प्लस कर दो तो मैंने बोला अगर आप x + प लिख देंगे तो इसका मतलब यही समझा जाएगा कि आप x की वैल्यू बढ़ाना चाह रहे हैं तो देखिए इसी तरह से ये चारों बेसिकली हमारे यहां पर यूज़ हो रहे हैं आप + + x भी लिख सकते हैं और x+ + भी लिख सकते हैं इन दोनों का मोस्टली मतलब सेम होता है है ना अभी इसके डिफरेंस में नहीं घुस दोनों का क्या मतलब है बस एक में होता है कि अगर आपने कहीं इसको एक्सप्रेशन में यूज़ कर लिया है तो + + x में पहले वैल्यू प्लस प्लस होगी फिर यूज़ होगा और x+ प् में पहले यूज़ होगी फिर अ अ बेसिकली एडिशन होगा यानी मान लीजिए अगर x की वैल्यू 5 है है ना मैं लिखता हूं y = + + x या मैं लिखता हूं y = x+ + है ना इन दोनों दोनों में से एक कोई भी अगर चले दोनों के बाद ही x की वैल्यू तो 6 ही होने वाली है पर इस केस में y की वैल्यू होगी सिक्स और इस केस में y की वैल्यू होगी 5 यानी + + x लिखा तो पहले ऐड फिर यूज होगा x+ प् लिखा तो पहले यूज़ होगा एडिशन बाद में होगा बस इनका इतना ही फर्क है चाहे प्लस प् y - - y हो है ना या पहले प्लस या पहले माइनस तो यानी दोनों में क्या डिफरेंस दोनों है तो बेसिकली इंक्रीमेंट डिक्रिमेंट ही प्री और पोस्ट का बस ये मतलब है कि क्या पहले होगा और यूज कब होगा ठीक है तो ये है दोस्तों हमारे यूनिरी ऑपरेटर्स यहां तक हमने क्या खत्म कर लिए हमारे एरिथ मेे िक इंस्ट्रक्शन खत्म कर लिए अब एक क्विक लुक मारेंगे हम कहां पर कंट्रोल इंस्ट्रक्शंस पर कंट्रोल इंस्ट्रक्शंस क्या होते हैं एक क्विक लुक इस पे मारेंगे उसके बाद एक्चुअली बाकी चैप्टर्स में हम इन्हीं को डिस्कस करने वाले हैं कंट्रोल इंस्ट्रक्शन का क्या मतलब देखिए दोबारा से समझिए कंट्रोल इंस्ट्रक्शंस एनेबल अस टू स्पेसिफाई द ऑर्डर इन व्हिच वेरियस इंस्ट्रक्शंस इन अ प्रोग्राम आर एग्जीक्यूटेड यानी अभी तक हम क्या कर रहे हैं हमने जो भी प्रोग्राम लिखे हैं जैसे मान लीजिए हम अपना प्रोग्राम जा देखते हैं मैं आपसे पूछ रहा हूं यार ये प्रिंट स्टेटमेंट पहले क्यों नहीं चला यह वाला पहले क्यों चला भया तो ओबवियस है अगर मैंने कहीं पर प्रोग्राम लिखा है तो एक-एक करके चीजें जो है वो चलेंगी यानी पहले यह चलेगा फिर यह चलेगा फिर यह चलेगा फिर ये चलेगा एक-एक करके चीजें शुरुआत से आखिर तक चलती रहेंगी तो अगर आपको यह बात समझ आई कि चीजें अभी तक एक-एक करके चल रही थी तो क्या हमेशा एक-एक करके चलने से काम होगा मान लीजिए आप किसी रोड पर जा रहे हैं अगर मैं बोलूंगा सीधा ही चलना है ना इधर मुड़ना है ना उधर मुड़ना है कोई कंडीशन नहीं है देखिए जब आप कोई गेम खेलते हैं आपका प्लेयर है वो चलता जा रहा है आप कहीं पर उसको जंप कराते हैं कहीं पर जंप नहीं कराते हैं कहीं पर लेफ्ट मोड लेते हैं राइट मोड लेते हैं कोई कार गेम आप खेल रहे हैं तो प्रोग्राम अच्छा कब लगता है प्रोग्राम अच्छा तब लगता है जब वो यूजर इनपुट के हिसाब से चले अभी तक तो हमारा प्रोग्राम ऐसा है यूजर इनपुट कुछ भी हो हमारी सीक्वेंस तो पहले से ही तय है तो अगर हम इस टाइप की चीजें चाहते हैं हम प्रोग्राम पर कंट्रोल चाहते हैं हम कई बार ऐसा चाहते हैं कि यार ये सिर्फ तब करना जब ऐसा हो या ये सिर्फ तब करना जब ऐसा हो मान लीजिए आप कोई लाइसेंस का प्रोग्राम बना रहे हैं मैं उसमें लिख देता हूं कि यार अगर एज 18 साल से कम होना तो उसको बोल देना आपका लाइसेंस नहीं बन सकता सता है बट अभी तो हमने प्रोग्राम ऐसा लिखा है कि एज इनपुट कराएंगे उसका लिख देंगे बस आपका लाइसेंस बन सकता है या नहीं बन सकता हर लाइन हमारी एग्जीक्यूट होती है अभी तक तो अगर हम ऐसा चाहते हैं कभी कोई लाइन एग्जीक्यूट हो कभी कोई ना हो तो उस केस में आप यूज कर सकते हैं कंट्रोल इंस्ट्रक्शंस कितनी तरह के होते हैं चार तरह के होते हैं कंट्रोल इंस्ट्रक्शन एक तो सीक्वेंस कंट्रोल है यानी एक तो यही है जो अभी तक हम लिखते हुए आए हैं एक के बाद एक एक के बाद एक चलता है दूसरा क्या है सिलेक्शन कंट्रोल अभी हम इससे नेक्स्ट चैप्टर में पढ़ेंगे इफ एल्स कंडीशंस यानी आपको स्पेसिफिक कोई स्पेसिफिक कोड ब्लॉक है जो आप कोई कंडीशन हो सिर्फ तभी ये रन करना चाहते हैं तो वहां चलता है इफ एल्स कोई कंडीशन ऐसी है जो आप चाहते हैं बार-बार होती रहे देखिए कंप्यूटर का मेन काम क्या है मेन फायदा क्या है हम बोलते हैं यार अगर टेबल अपने आप से लिखोगे तो कितना समय लगेगा कंप्यूटर से आप बोल सकते हो 2000 तक की टेबल लिख दे तुरंत लिख देगा वो इतनी जल्दी कैसे लिख पाता है क्या हम इतना कोड लिखना पड़ता है हर बार नहीं हम क्या करते हैं कुछ बेसिकली चीजों को लिखते हैं कुछ इंस्ट्रक्शंस को लिखते हैं बोलते हैं इसको रिपीट करते रहो उसको 1000 बार रिपीट करो आपका काम पूरा हो जाएगा तो अगर कहीं पर हमको लूप बनाना है इसको क्या बोला जाता है लूप बोला जाता है रिपीटेशन बोला जाता है तो हम क्या करते हैं उसके लिए क कंट्रोल बेसिकली लूप कंट्रोल यूज करते हैं जैसे फॉर लूप वाइल लूप आगे चलके हम पढ़ेंगे और एक लास्ट होता है केस कंट्रोल ये कुछ-कुछ सिलेक्शन कंट्रोल की तरह ही होता है बट एक दूसरी चीज होती है स्विच करके अभी हम पढ़ेंगे वो भी नेक्स्ट चैप्टर में हम पढ़ने वाले हैं स्विच केस क्या करता है बहुत सारे केसेस में से अगर आपको एक चूज करना है जैसे बहुत सारी क्लास के बच्चों में से सिर्फ एक टॉपर चूज करना है तो उस केस में स्विच बेसिकली इस्तेमाल किया जाता है ठीक है तो बेसिकली इंस्ट्रक्शंस दोस्तों हमने जल्दी से क्विकली पढ़ लिए हैं मोस्टली थोरेट्स सेली थ है एग्जाम में भी पूछी जाती है इन जनरल भी आपको अंडरस्टैंडिंग होनी चाहिए तो हमको समझ आ गया क्या इंस्ट्रक्शंस क्या होते हैं तीन तरह के इंस्ट्रक्शंस क्या टाइप डिक्लेरेशन अगर हम चलके रिवीजन में देखें हमने क्या-क्या पढ़ा सी इंस्ट्रक्शंस को देखा सबसे पहले देखा टाइप डिक्लेरेशन इंस्ट्रक्शंस को उसके बाद यहां से लेकर देखिए कहां तक यूरी तक हमने सिर्फ देखा एरिथ मेे िक इंस्ट्रक्शंस को है ना एरिथ मेे िक इंस्ट्रक्शंस को और लास्ट में हमने देखा सिर्फ कंट्रोल इंस्ट्रक्शंस का सिर्फ ओवरव्यू कि कंट्रोल इंस्ट्रक्शंस हमको कंट्रोल देंगे ओवर आर प्रोग्राम की कब क्या चलना चाहिए पर वो कैसे मिलेगा वो हम देखेंगे आगे चलके टाइप डिक्लेरेशन तो हम पहले भी पढ़ कर आए थे इस बार भी हमने बहुत सारे उसके टाइप्स देख लिए कि किस-किस तरह से हम अलग-अलग तरह से वेरिएबल को डिक्लेयर कर सकते हैं ठीक है मेरा हो गया एरिथ मेे िक इंस्ट्रक्शंस पूरा और कंट्रोल इंस्ट्रक्शंस हम इसके बाद बेसिकली पढ़ने वाले हैं तो दोस्तों अब हम आ गए हैं चैप्टर नंबर थ्री के चैलेंज पर आपको ऐसा लग रहा होगा जल्दी से नेक्स्ट चैप्टर की तरफ जाएंगे परट नहीं देखिए जो जो पढ़ लिया है पहले उसको प्रैक्टिस करना है चैप्टर नंबर थ्री में आ गए हैं हमारे पास 11 से लेके 18 तक यानी आठ प्रोग्रामिंग चैलेंज जो आपने पढ़ा है वही मोस्टली चीजें यहां पर यूज़ हो रही है क्या करना है क्रिएट अ प्रोग्राम दैट टेक्स टू नंबर्स और क्या करना है इन सारे के सारे ऑपरेटर्स का आपको रिजल्ट जो है वो शो करना है वो दो नंबर यूजर से लीजिए और इन सब का क्या-क्या रिजल्ट होगा एक-एक लाइन में आपको प्रिंट करना है अगला क्या है गिवन एन इंटी जर वैल्यू कन्वर्टेड टू अ फ्लोटिंग पॉइंट वैल्यू पहले एक इंटी जर वैल्यू लीजिए उसको फ्लोटिंग पॉइंट में कन्वर्ट करिए और दोनों ही चीजों को प्रिंट करा के दिखाइए कि किस तरह से नंबर क्या डिफरेंट प्रिंट होते हैं सेम प्रिंट होते हैं क्या होता है उसके बाद क्रिएट अ प्रोग्राम टू कैलकुलेट प्रोडक्ट ऑफ टू फ्लोटिंग पॉइंट नंबर्स यानी दो फ्लोटिंग पॉइंट नंबर्स आप आपको यूजर से लेने हैं और उसके बाद उन दोनों का जो मल्टीप्लिकेशन है वो आपको स्क्रीन पर शो कराना है उसके बाद क्या है पैरामीटर ऑफ़ अ रेक्टेंगल यानी एक पेरीमीटर की चार की चार साइड्स आपको यूजर से लेनी है और उसका पेरीमीटर का जो फार्मूला यहां पर दिया हुआ है उसको यूज़ करके फाइनल रिजल्ट यूजर को दिखाना है इसी तरह क्या है एरिया ऑफ़ ट्रायंगल एरिया ऑफ़ ट्रायंगल में क्या करेंगे ब्रेथ और हाइट यूज़र से लेंगे और फाइनली एरिया ऑफ़ ट्रायंगल वहां पर शो करेंगे सिंपल इंटरेस्ट आपको कैलकुलेट करना है यानी प्रिंसिपल टाइम और रेट ये तीनों चीजें आपको यूजर से लेनी है फॉर्मूला यूज़ करना है ये नहीं सोचना कि मुझे पर्टिकुलर चीजें आती हैं या नहीं यहां पर ये इंपॉर्टेंट नहीं है कि आपको सिंपल इंटरेस्ट कैलकुलेट करना आता है या नहीं इंपॉर्टेंट ये है पीआरटी यूजर से लेके आपको ये फाइनल रिजल्ट यहां यहां पर शो करना है फार्मूला इसलिए यहां पर ऑलरेडी दिया हुआ है उसके बाद क्या है क्रिएट अ प्रोग्राम टू कैलकुलेट कंपाउंड इंटरेस्ट भी निकालिए पीआरटी यानी पीआरटी अभी भी मिला है पर इस बार आपको क्या करना है कंपाउंड इंटरेस्ट करना है अगर आप कुछ एक्स्ट्रा करना चाहते हैं एक ही प्रोग्राम में पीआरटी लेने के बाद दोनों इंटरेस्ट को शो करिए यानी सिंपल इंटरेस्ट क्या होगा कंपाउंड इंटरेस्ट क्या होगा दोनों को आप भी शो कर सकते हैं फाइनल क्या है क्रिएट अ प्रोग्राम टू कन्वर्ट फारेनहाइट टू सेल्सियस जो हमारा टेंपरेचर होता है आपको क्या करना है यूजर से डिग्री फारेनहाइट में टेंपरेचर लेना है और फाइनल उसको सेंटीग्रेड में दिखाना यानी सेल्सियस में दिखाना ना है कि फाइनल टेंपरेचर क्या हुआ तो ये आठ की आठ चैलेंज को जो है ट्राई करिए देखिए बिना ट्राई करिए आगे नहीं बढ़ेगा मैं बार-बार यही बोलता हूं जब तक प्रोग्रामिंग अपने हाथ से नहीं करोगे तब तक कुछ भी क्लियर नहीं होगा इनको एक बार ट्राई करना है जरूरी नहीं कि मेरे से होना चाहिए इनको एक बार ट्राई करिए अदर वाइज सॉल्यूशन वीडियो के बारे में आपको पता है सॉल्यूशन वीडियो का लिंक आपको नीचे मिलेगा जहां इन सारे क्वेश्चंस का सॉल्यूशन एक बार एक वीडियो में आपको मिलेगा तो एक बार ट्राई करिए अदर वाइज सॉल्यूशन वीडियो के लिंक पर क्लिक करिए वहां आप जाकर देख सकते हैं कि इनको एक-एक प्रोग्रामिंग को एक-एक कोड को हमने पूरा का पूरा सॉल्व किया हुआ है अगर आप आपको सिर्फ सलूशन चाहिए तो उस वीडियो पर अगर आप जाएंगे उस वीडियो में नीचे गिट अप का भी लिंक होगा जहां पर ये सारे के सारे 100 के 100 प्रोग्राम का लिंक भी आपको मिल जाएगा अगर आप सिर्फ टेक्स्ट सॉल्यूशन देखना चाहते हैं वो भी आप देख सकते हैं तो ये इनको सबको अटेंप्ट करिए उम्मीद करेंगे कि सॉल्व करिए और उसके बाद चलते हैं नेक्स्ट चैप्टर की तरफ ऑलराइट तो दोस्तों चलिए स्टार्ट करते हैं हमारा अगला चैप्टर जिसका नाम क्या है डिसीजन कंट्रोल स्ट्रक्चर देखिए ये वो चैप्टर है जहां से प्रोग्रामिंग में असली मजा आना शुरू होगा अभी तक तो हम जो चीजें बना रहे थे चाहे वो हेलो वर्ड हो बेसिक प्रिंटिंग हो आपने कुछ एज इनपुट करा लिया शो करा दिया यह समझ नहीं आ रहा कि सर इससे अच्छे-अच्छे एप्लीकेशन जो है बड़ी-बड़ी चीजें जो हैं कैसे बनाएंगे चार लाइन स्क्रीन से ले रहे हैं चार लाइन स्क्रीन पर दिखा रहे हैं कुछ बहुत ज्यादा लॉजिक नहीं है जो मेन लॉजिक बिल्डिंग है यानी जो मेन थोड़ी सी आप य बोल लीजिए इंटेलिजेंस है आपके प्रोग्राम में कि वो ऑन द फ्लाई ऑन द रन कुछ-कुछ डिसीजंस ले सके वो आएगा इस चैप्टर से तो इस चैप्टर से सीरियसली आपको मजा आना शुरू होगा इससे पहले जो था वो हमारा एकदम बेसिक बिल्डिंग ब्लॉक्स थे बनाने के लिए ताकि हम यहां तक पहुंच सके इन सबको चला सके तो देखिए बहुत सारी चीजें हम इस चैप्टर में पढ़ने वाले हैं डिसीजन कंट्रोल ऑपरेटर्स काफी सारी तरह के इफ स्टेटमेंट अगर आप अपने सिलेबस भी चेक कर रहे हैं कोई इफ इफ एल्स तरह के जितने इफ होते हैं वो सब पढ़ेंगे लॉजिकल ऑपरेटर टरनरी ऑपरेटर स्विच एंड गो टू सब कुछ हम यहीं पर कवर करने वाले हैं दोस्तों बहुत ज्यादा मजा आने वाला है इस चैप्टर में बहुत ध्यान से पढ़िए ठीक है तो चलिए शुरू करते हैं सबसे पहली चीज सबसे पहला नाम कि भाई जो चैप्टर का नाम है डिसीजन कंट्रोल व्हाट इज डिसीजन कंट्रोल डिसीजन कंट्रोल का मतलब क्या है तो देखिए अभी बाकी कुछ मत देखिए जो बीच में पिक्चर लगी है सबसे पहले ये देखिए ठीक है इसमें हम क्या दिखा रहे हैं मान लीजिए एक रोड जा रही है है ना अब रोड में दोनों साइड मान लीजिए अगर मैं इस डायरेक्शन में चला जाऊं तो क्या है एक रेस्टोरेंट है और इस डायरेक्शन में चला जाऊं तो क्या है एक पेट्रोल पंप है मुझे दोनों में से एक ही चीज मिल सकती है तो जब मान लीजिए आप रोड पर जा रहे हैं और आपको दिख रहा है दो तरफ क्या है एक तरफ अगर मैं एक डायरेक्शन में मुडा तो मुझे रेस्टोरेंट मिलेगा यानी अगर मुझे भूख लगी है तो मैं जा सकता हूं दूसरी डायरेक्शन में जाऊंगा तो वहां पेट्रोल पंप है वहां पेट्रोल भरवा सकता हूं देखिए आपको ये डिसीजन लेना है कि आपको किस चीज की जरूरत ज्यादा है यहां मैं ये जो एग्जांपल हैय आपको क्यों दे रहा हूं देखिए अभी तक जो हमने प्रोग्राम पढ़ा जो प्रोग्रामिंग की उसमें क्या हो रहा था हमने जितनी भी लाइनें लिखी कोड में वो क्या हो रही थी एक के बाद एक एक के बाद एक स्टेप बाय स्टेप एग्जीक्यूट हो रही थी अब फर्स्ट टाइम होगा जब हम ऐसा प्रोग्राम लिख पाएंगे जो सिचुएशन के हिसाब से या तो कुछ लाइंस एग्जीक्यूट करेगा या कुछ और लाइंस एग्जीक्यूट करेगा यानी जरूरी नहीं कि आपने प्रोग्राम में जितनी लाइनें लिखी हो जितनी चीजें लिखी हो सब की सब एग्जीक्यूट हो बेस्ड ऑन कंडीशन बेस्ड ऑन रियल लाइफ सिचुएशन उस समय ऑन द फ्लाई क्या हो रहा है उस हिसाब से क्या होगा चेंज हो जाएगा या तो ये एग्जीक्यूट होगा या ये एग्जीक्यूट होगा है ना तो कंडीशन एग्जीक्यूशन का मतलब क्या है कंडीशनल एग्जीक्यूशन का मतलब है दे अलाउ कोड टू रन बेस्ड ऑन स्पेसिफिक कंडीशंस यानी कोई कोड है जो स्पेसिफिक कंडीशन के बेसिस पर ही रन होगा वरना नहीं होगा इससे होता क्या है आपका जो प्रोग्राम है वो डायनेमिक हो जाता है है ना कॉम्प्लेक्टेड होती है क्योंकि कॉम्प्लेक्शन बहुत सारी कंडीशंस को आप कंबाइन कर सकते हैं एक के अंदर एक कंडीशन डाल सकते हैं वो सभी अब हम देखेंगे इस चैप्टर के वो सब कैसे करना है बट बेसिकली काफी ज्यादा कॉम्प्लेक्शन आपका प्रोग्राम इससे हैंडल कर सकता है और फ्लेक्सिबल कैसे इंक्रीज होती है इससे बिकॉज़ दिस इंक्रीजस द एडेप्टेबिलिटी ऑफ़ द प्रोग्राम फॉर डिफरेंट सिनेरियो यानी जरूरी नहीं कि हर स्पेसिफिक सिनेरियो के लिए आपको अलग-अलग प्रोग्राम लिखना पड़े और वो जो डिसीजन मेकिंग है वो आप यूज़र से कराएं आप यूजर से बोल सकते हैं यह एक मेरा प्रोग्राम है जो हर सिचुएशन को हैंडल करता है है ना तो क्या होता है आप फ्लेक्सिबल हो जाते हैं कि ये सिचुएशन होगी तो भी मेरा प्रोग्राम हैंडल कर लेगा ये सिचुएशन होगी तो भी मेरा प्रोग्राम हैंडल कर लेगा तो अगर यहां पर हम देखें एक एग्जांपल जैसे यहां दिया हुआ है कि मान लीजिए लैंप अभी काम नहीं कर रहा है आपके रूम में कोई लैंप है है ना वो काम नहीं कर रहा है तो आप क्या करेंगे अभी हम एल्गोरिथम के टर्म्स में सोच रहे हैं स्टेप बाय स्टेप आप क्या करते हैं मान लीजिए लाइट नहीं जल रही है लैंप मतलब कोई भी लाइ लाइट है आपके रूम में लाइट नहीं जल रही है तो आप सबसे पहले क्या देखिए सबसे पहले देखिए क्या उसका तार बिजली में लगा हुआ है लैंप इज प्लग्ड इन अगर तार नहीं लगा हुआ है तो आप क्या करेंगे प्लग इन लैंप यानी तार को भाई बिजली में तो लगाइए तभी तो चलेगा लैंप अगर तार बिजली में लगा हुआ था तो चेक करिए कि क्या बल्ब तो फ्यूज नहीं हो गया है बल्ब तो खराब नहीं हो गया वैसे आजकल एलईडी का जमाना है आजकल के बच्चे शायद जी समझते नहीं होंगे बट जो गोल वाले बल्ब है वो तो रोज के हिसाब से ही पहले फ्यूज हुआ करते थे है ना तो आप क्या चेक करते थे कि बल्ब बर्न आउट तो नहीं हो गया है यानी बल्ब खत्म तो नहीं हो गया अगर ऐसा है बल्ब हां बर्न आउट हो गया है तो आप क्या करेंगे बल्ब को रिप्लेस करेंगे अदर वाइज क्या करेंगे भाई सब कुछ ही खराब हो गया है जब प्लग्ड इन भी है स्विच भी ऑन है और आपका बल्ब भी खराब नहीं है इसका मतलब लैंप में कुछ गड़बड़ है लैंप को रिपेयर के लिए भेज देना चाहिए है ना तो ये क्या है ये आप डिसीजन ले रहे हैं रन टाइम पर ये डिसीजन दिखा रहा है यानी कोई भी कंडीशन हो सकती है उसका यस और नो डिसीजन हो सकता है तो इसी तरह के डिसीजन को लेकर के अब हम क्या करेंगे आगे चलके अपना प्रोग्रामिंग को करेंगे तो अब देखिए कितने तरह के डिसीजन कंट्रोल होते हैं डिसीजन कंट्रोल को और क्या भी बोलते हैं अगर आप कोई और बुक्स फॉलो कर रहे हैं या आपका कोई टीचर पढ़ा रहा है तो क्या हो सकता है उसका नाम हो सकता है कंडीशनल स्टेटमेंट्स क्यों जो कंडीशन के बेस पर चले हो कंडीशनल स्टेटमेंट डिसीजन कंट्रोल क्या है डिसीजन कंट्रोल भी वही बात है कि बेस्ड ऑन कंडीशन हम कोई डिसीजन ले रहे हैं इसको इसलिए कंडीशनल स्टेटमेंट भी बोला जाता है जो हमने पहले भी पढ़ा था है ना अ इससे पहले वाले चैप्टर में जब हम स्टेटमेंट्स को पढ़ रहे थे वहां भी हमने देखा था कंडीशन स्टेटमेंट एक स्टेट है व हमने डीप में नहीं पढ़ा था अब इसको डीप में हम पढ़ेंगे तो कितने तरह की कंडीशनल स्टेटमेंट होती है देखिए मोटा-मोटा तो दो तरीके हैं एक है इफ एल्स और एक है स्विच ठीक है इफ एल्स को हम पढ़ेंगे मोस्ट ऑफ द चैप्टर में स्विच को बाद में स्विच को भी कवर करेंगे स्विच भी काफी इंपोर्टेंट है बट इफल्स थोड़ा सा ज्यादा इस्तेमाल होता है ज्यादा वर्सेटाइल है ज्यादा चीजों में आप इस्तेमाल कर सकते हैं इफ एल्स भी कई सारे तरीके के हैं एक तो ये टाइप का इफ एल्स है जो हम एकदम लास्ट में पढ़ेंगे जिसका नाम होता है टरनरी ऑपरेटर उसके अलावा नॉर्मल इफ होता है अभी आपको अंदर का कोड वुड नहीं देखना है बाद में आपके नोट्स के लिए है अभी कुछ समझ नहीं अभी बस बात सुननी है इफ एल्स कितने तरह के होते हैं एक नॉर्मल इफ होता है इफ एल्स होता है इफ एल्स इफ होता है नेस्टेड इफ होता है सर ये तो बहुत ज्यादा कॉम्प्लिकेटेड लग रहा है इतने सारे टाइप के हो गए यार कुछ नहीं है एक ही टाइप है बस बेस्ड ऑन किस तरह से यूज हुआ है उस तरह से इसके अलग-अलग नाम रख दिए गए हैं अगर आपको एक नॉर्मल इफल्स समझ आ गया तो सब कुछ अपने आप ही ऑटोमेटिक समझ आ जाएगा ठीक है तो इसम बहुत ज्यादा समझने की जरूरत नहीं है मेन आपको ये देखना है एक इफ हेल्स होता है और एक स्विच होता है मोटा-मोटा दो तरह के मेरे डिसीजन कंट्रोल स्ट्रक्चर सी में पाए जाते हैं ठीक है अब जैसे ही हम जाएंगे इफ एल्स की तरफ उससे पहले एक चीज और पढ़ना जरूरी है रिलेशनल ऑपरेटर्स जो हम कंडीशन कंडीशन की बात कर रहे हैं ये कंडीशंस बनेंगी कैसे सबसे पहले ये समझना जरूरी है देखिए कंडीशन किस टाइप की हो सकती है मान लीजिए हम एक एग्जांपल लेते हैं एग्जांपल ये है कि आपको किसी ने बोला कि भई आप जो हमारा जैसे एआरटीओ का सिस्टम होता है है ना ड्राइविंग लाइसेंस वाला सिस्टम होता है आप उसके लिए प्रोग्राम लिखिए और जो भी कोई बंदा कोई जो भी कोई मतलब जो भी कोई इंसान एप्लीकेशन कर रहा है किस चीज के लिए लाइसेंस के लिए ये चेक करिए कि उन की जो एज है वो 18 से कम है या 18 से ज्यादा है और उस बेसिस पर उनको बताइए कि उनको लाइसेंस अभी इशू हो सकता है या उनको लाइसेंस इशू नहीं हो सकता है तो कंडीशन आप चेक कैसे करेंगे मुझे चेक करना है कि मान लीजिए एज जो है वो 18 से कम है या ज्यादा है तो मैं करूं कैसे चेक एज इनपुट करना तो हमने पिछले चैप्टर में भी देखा था कि मैं यूजर से उसकी एज इनपुट कर सकता हूं तो एज मेरे पास किसी वेरिएबल में तो है बट अब मैं कैसे चेक करूं कि 18 से कम है या ज्यादा है वहां आते हैं रिलेशनल ऑपरेटर्स रिलेशनल ऑपरेटर क्या करते हैं वो आपको दो चीजों को कंपेयर करने का तरीका देते हैं कंपेयर किस-किस तरह से कर सकते हैं इक्वलिटी कंपेयर कर सकते हैं यानी दो चीजें अगर मुझे चेक करनी है इक्वल है या नहीं मान लीजिए मैंने एक इनपुट वेरिएबल लिया इंट a ठीक है इसको मैंने स्कैनफ करके यूजर्स इनपुट करा लिया अब मैं चेक करना चाहता हूं ये a5 है या नहीं तो मैं क्या चेक कर सकता हूं a = = 5 a = = 5 मुझे क्या बताएगा a ये ब्रैकेट मैंने ऐसे ही लगा दिया बस दिखाने के लिए a = = 5 मुझे दिखाएगा कि क्या a5 के बराबर है या नहीं देखिए जब हम नॉर्मल मैथ पढ़ते थे तो इक्वल इक्वलिटी चेक किससे होती थी नॉर्मल एक सिंगल इक्वल टू से होती थी बट हमने देखा प्रोग्रामिंग में सिंगल इक्वल टू क्या है सिंगल इक्वल टू तो भाई असाइनमेंट ऑपरेटर हमने बना दिया यानी सिंगल इक्वल टू क्या करता है सिंगल इक्वल टू राइट से में चीजें देखता है राइट में जो भी इक्वल टू के होता है उसको इवेलुएट करता है उठाकर लेफ्ट में डाल देता है तो सिंगल इक्वल टू तो क्या हुआ सिंगल इक्वल टू तो हमने बना दिया यहां असाइनमेंट ऑपरेटर तो यहां इक्वलिटी किससे चेक करेंगे तो इक्वलिटी चेक करते हैं डबल इक्वल टू से ये ऑलमोस्ट हर प्रोग्रामिंग लैंग्वेज में सेम रहता है तो ये आपको समझ आ जाएगा धीरे-धीरे कि जहां भी डबल इक्वल टू लगा हुआ है उसका मतलब है हम कंपेयर कर रहे हैं कि डबल इक्वल टू दोनों साइड जो चीजें हैं वो बराबर हैं या नहीं है मान लीजिए मैं चाहता हूं नॉट इक्वल टू चेक करना मैथ में भी जैसे होता था नॉट इक्वल नॉट इक्वल मैथ में कैसे बनाते थे इक्वल टू करके ऐसे नॉट लगा देते थे उसके ऊपर है ना नॉट इक्वल टू कैसे होता है ये आप लगाएंगे साइन एक्सक्लेमेशन साइन साइन एंड लगा देंगे इक्वल टू बैंग साइन एंड इक्वल टू ये चेक करता है नॉट इक्वल टू हम यहां बोलने की क्या कोशिश कर रहे हैं चेक करता का मतलब क्या है a = = 5 क्या करेगा दो चीजें रिटर्न करेगा या तो ट्रू या फॉल्स अब ये ट्रू या फॉल्स क्या है है ना देखिए एक दूसरे तरह का बेसिकली डटा टाइप होता है जो सी में पाया नहीं जाता बट इंप्ली सिट होता है जिसका नाम क्या होता है बोलियन ठीक है जिसका नाम क्या होता है बुलियन यानी बूल बुलियन का मतलब क्या है देखिए बुलियन अलजेब्रा हो सकता है कि लोगों ने सुना हो पूरा कंप्यूटर सिस्टम जो है वो बुलियन सिस्टम पर काम करता है हमने पहले चैप्टर में भी देखा था क्या पूरा कंप्यूटर किस तरह से चलता है लाइट पर चलता है या तो वन या रो या तो वन या रो बस ये वन और रो को क्या बोलते हैं बुलियन सिंबल्स बोलते हैं यानी वन या रो क्या है ट्रू या फाल्स तो वन को क्या समझा जाता है वन के और क्या क्या नाम है वन का और एक नाम होता है ऑन है ना वन का नाम होता है ट्रू इसी तरह से रो के क्या नाम होते हैं फॉल्स नाम होता है या ऑफ नाम होता है है ना यानी बिजली अगर ऑफ है तो रो अगर रो का मतलब है तो फॉल्स या बिजली ऑन है तो वन या ऑन या ट्रू कुछ भी बोला जा सकता है तो ये जो कंडीशनल सॉरी ये जो रिलेशनल हमारे ऑपरेटर हैं ये क्या करते हैं रिलेशनल ऑपरेटर चीजों को जो हमारे मैथ के नंबर्स थे इनको वन या ज़ीरो में कन्वर्ट कर देते हैं यानी अगर मान लीजिए मैंने चेक किया a इव इक्व टू = 5 और a की वैल्यू मान लीजिए यूजर ने दी थी फोर हम चेक कर रहे हैं क्या 4 इक्वल टू इक्वल टू 5 है नहीं है यानी फॉल्स 4 = ू = ू 5 नहीं है नहीं है तो क्या होगा जीरो तो इसकी वैल्यू क्या आ जाएगी रो यानी अगर मैं एक दूसरा नंबर लिखूं मैं लिखूं इंटी जर b इक्वल टू मान लीजिए पहले मैं इसको थोड़ा सा रिमूव कर देता हूं यहां से मान लीजिए मैं बोल रहा हूं a की इक्वल टू इक्वल टू 5 हमको चेक करना है और इसको मैं डाल देता हूं इंटी जर b में यानी बोलता हूं इंटी जर b = a = = 5 और इससे ऊपर अगर मैं मैं कर दूं क्या इंटी जर a = 4 a की वैल्यू मैंने 4 ली और b की वैल्यू मैंने क्या कर दी a = = 5 कर दी तो a = = 5 क्या करेगा इक्वल दोनों इक्वल टू के दोनों साइड चेक करेगा इधर फाइव है a की वैल्यू फोर है क्या फर फव के इक्वल है नहीं है नहीं है मतलब फॉल्स फॉल्स के लिए यहां रो असाइन कर देगा तो b की वैल्यू क्या हो जाएगी रो हो जाएगी और अगर a की वैल्यू एक्चुअल में फाइव होती तो क्या हो जाती 5 = इ 5 जो ट्रू हो जाता तो b की वैल्यू हमारे क्या हो जाती वन हो जाती तो हमको क्या समझ आई जो इक्वल टू इक्वल टू ऑपरेटर है सारे के सारे रिलेशनल ऑपरेटर जो हैं ये मेरी जो कंडीशन है उससे फाइनल निकल कर क्या आता है या तो वन आता है या रो आता है ठीक है वन का मतलब है ट्रू और रो का मतलब है फॉल्स नॉट इक्वल टू क्या करेगा नॉट इक्वल टू इसका एकदम उल्टा करेगा यानी अगर मैं a नॉट = ट 5 चेक कर रहा हूं और फोर वैल्यू है तो 4 नॉट इक्वल टू सॉरी माफ़ कीजिएगा नॉट इक्वल टू 5 क्या आएगा ट्रू आएगा और फ फाइव नॉट इक्वल टू फव क्या आएगा फॉल्स आएगा यानी इक्वल टू का एकदम जो अपोजिट है वो नॉट इक्वल टू है उसके बाद रिलेशनल की बात कर लेते हैं ग्रेटर दन जो अभी हम चेक करना चाहते थे कि भाई आपकी एज 18 से ज्यादा होनी चाहिए तो हम क्या कर सकते हैं हम चेक कर सकते हैं एज शुड बी ग्रेटर दन 18 अब ये क्या करेगा या तो ट्रू में ट्रू रिटर्न करेगा या फॉल्स रिटर्न करेगा यानी या तो वन आएगा या रो आएगा ये एक्सप्रेशन किस तरह से वैल्युएट होगा या तो फाइनल वन बनेगा या रो बनेगा तो ये कंडीशंस तो आप समझ रहे हैं मैथ वाली ग्रेटर दैन कंडीशन है लेस दन कंडीशन है अगर आपको ग्रेटर दैन इक्वल टू चेक करना है एक्चुअली लाइसेंस के लिए हमको ग्रेटर दन नहीं चेक करना है अगर कोई आज भी पूरे 18 साल का हुआ है और बर्थडे के दिन ही वो लाइसेंस लेने आ जाता है तो भी हम बोलेंगे कि आपको लाइसेंस मिल सकता है तो हमको क्या चेक करना है एज ग्रेटर दन इक्वल टू यानी या तो आपकी एज 18 से ज्यादा हो या 18 हो तो भी आपको लाइसेंस इशू हो सकता है तो उस केस में आप क्या करेंगे ग्रेटर दन और इक्वल टू देखिए मैथ में कैसे लगाते थे ये साइन ऐसे ग्रेटर दन लगाते थे और नीचे वाले पे ही एक डंडा और लगा देते थे ग्रेटर दन इक्वल टू यहां कैसे लगाएंगे ग्रेटर दन के बाद इक्वल टू लगाएंगे और ऐसे ही लेस दन के लिए लेस दन इक्वल टू लगाएंगे ठीक है तो ये है दोस्तों हमारे रिलेशनल ऑपरेटर रिलेशनल ऑपरेटर क्या करते हैं हमको समझ आया जो हमारे दोनों तरफ नंबर्स हैं कंडी बेसिकली जो भी हमारे पास डेटा टाइप्स है उनको कहे में कन्वर्ट कर देंगे फाइनली ट्रू या फल्स में कन्वर्ट कर देंगे यानी वन या रो में कन्वर्ट कर देंगे अब ये रिलेशनल ऑपरेटर सर हमने बीच में पढ़ा क्यों भाई ये जो आप कंडीशन कंडीशन कर रहे हैं डिसीजन किस बेस पर लेंगे कंडीशन के बेस पर लेंगे यहां देखिए हम क्या बोल रहे थे यहां एक कंडीशन बनेगी कंडीशन के बेस पर ट्रू या फाल्स होगा ये जो डिसीजन की हम बात कर रहे हैं य डिसीजन जनरली हम रिलेशनल ऑपरेटर से ही बनाते हैं अब जैसे एज का हमको डिसीजन लेना है कि भाई एज 18 से ज्यादा है इक्वल टू ग्रेटर दन यानी या तो ज्यादा है या बराबर है या 18 से कम है तो ये क्या बनेगी एक कंडीशन बनेगी और वो कंडीशन हम कैसे बनाएंगे हम रिलेशनल ऑपरेटर्स के बेस पर बनाएंगे तो रिलेशनल ऑपरेटर हमको समझ आ गया तो अब हम आ जाएंगे इफ स्टेटमेंट की तरफ यानी अब हम सबसे पहले समझेंगे कि भाई वो कंडीशन जो है हम अपने कोड में बनाएंगे कैसे ठीक है तो सबसे पहले देख लेते हैं अगेन कंडीशन का क्या मतलब है देखिए अब सिर्फ हम इफ पढ़ रहे हैं यानी इफ का क्या मतलब है हम थोड़ा सा कोड ब्लॉक ऐसा चाहते हैं जो कंडीशन ट्रू हो तो ही वो एग्जीक्यूट हो अदर वाइज वो स्किप हो जाए इफ का क्या मतलब है इफ में दो लाइन तीन लाइन चार लाइन जितनी भी आपके आपकी लाइन है कोड ब्लॉक ब्लॉक का मतलब एक सेट ऑफ लाइंस ऑफ कोड आपका सेट ऑफ लाइन ऑफ कोड है जो एक कंडीशन ट्रू हो तो ही एजि एग्जीक्यूट हो अदर वाइज वो एग्जीक्यूट ना हो तो देखिए अगर हम फ्लो चार्ट देखें तो कैसा आएगा आपका कोड चलता चला आ रहा है चलता चला आ रहा है यानी एक-एक स्टेटमेंट एक-एक स्टेटमेंट एग्जीक्यूट कर रहे हैं उसके बाद आई है कंडीशन कंडीशन के बेस पर यानी इफ में क्या होगा हम यहां चेक कर रहे हैं एक तरह से इफ कंडीशन यानी अगर ये कंडीशन ट्रू है तो तो ये इफ कंडीशन वाला जो कोड है ये आप एग्जीक्यूट करिएगा अगर फॉल्स है तो क्या करना इस पूरे ब्लॉक को स्किप करके आगे चले जाना अगर सीधे आते तो ये एग्जीक्यूट होता ये जो नीचे वाला है ये तो एग्जीक्यूट होगा ही होगा एक बस ये जो इफ कंडीशन वाला ब्लॉक है ये इस बात पर डिपेंड करेगा कि ये कंडीशन ट्रू थी या नहीं थी और इसका सिंटेक्स क्या है सिंटेक्स है देखिए ये यानी आप लिखते हैं इफ इफ भी क्या है एक कीवर्ड है कीवर्ड हमने पढ़ा था यानी इफ आप किसी भी अपने वेरिएबल का आइडेंटिफिकेशन हम लिखेंगे जो भी हमारी कंडीशन है उसके बाद लगाएंगे ब्रेसेज यानी जो हम मेन के बाद लगाते आ रहे थे कल्ली ब्रेसेज अब कर्ली ब्रेसस के अंदर भी कर्ली ब्रेसेज आएंगे यानी आप इफ यहां पर लिखेंगे तो हम क्या लिखते हैं इफ लिखेंगे आप इफ के बाद देखिए दो ब्रैकेट्स में लगाएंगे कंडीशन मान लीजिए यहां टेस्ट की वैल्यू हम क्या चेक कर रहे हैं लेस दन 10 है और देन ब्रैकेट के अंदर ये दो कल्ली ब्रेसस लगाएंगे और इसके अंदर आ जाएगा हमारा इफ ब्लॉक यानी आपने इन दो कली ब्रेसेज के अंदर जो भी कोड लिखा वो सिर्फ तब एग्जीक्यूट होगा जब ये इफ कंडीशन मेरी ट्रू है अगर ये इफ कंडीशन मेरी फॉल्स है तो ये पूरा का पूरा जो ब्लॉक है वो स्किप हो जाएगा और इस ब्रैकेट के बाद जो भी लिखा हुआ है वो आपका एग्जीक्यूट होना स्टार्ट हो जाएगा अब हम आएंगे थ्योरी पर वापस पर पहले एक बार चलके इसको प्रैक्टिकली करके देखते हैं समझते हैं कि यह कैसे चलता है उसके बाद वापस आएंगे और समझेंगे जो हमारी बची हुई थ्योरी है उसको है ना बचे हुए कांसेप्ट को तो हम ये जरा बक ये खोल लेते हैं अब देखिए चैप्टर नंबर थ्री में तो हमने कोई भी कोड नहीं लिखा चैप्टर नंबर थ्री वाज मोस्टली थोरेट्स जन कंट्रोल स्ट्रक्चर ठीक है चैप्टर नंबर फोर के अंदर बनाएंगे हम फाइल और फाइल का नाम रखेंगे हम इफ ड स ठीक है इसके अंदर हम पढ़ने वाले हैं इफ को अब ये जो एक्सप्लोरर है इसको जरा थोड़ा बंद कर देते हैं और यहां कोड लिखना स्टार्ट करते हैं सबसे पहले क्या इतना तो हमको थोड़ा-थोड़ा याद ही होने लगा है इंक्लूड एडीओ ए उसके बाद क्या लिखेंगे इंट मेन ये हो गया मेरा मेन और बाद में क्या सबसे पहले क्या लगा देंगे रिटर्न रो है ना रिटर्न रो उसके बाद हम अपना कोड लिखना स्टार्ट करते हैं तो देखिए सबसे पहले जो हम एज वाला एग्जांपल ले रहे थे यही ले लेते हैं है ना तो मैं पहले एक एज डिक्लेयर कर लेता हूं अपना एज वेरिएबल उसके बाद क्या करते हैं यूजर को बोलते हैं कि भाई अपनी जरा ज आप एंटर कर दीजिए तो लिखते हैं वेलकम टू ए आरटीओ है ना ए आरटी ऑफिस और उसके बाद क्या करेंगे बैक स्ल ए लगा के इसी में लिख देते हैं प्लीज एंटर योर ए ठीक है मैंने कह दिया अपना ए जो है व आप एंटर कर दीजिए उसके बाद क्या करेंगे स्कैन करेंगे स्कैन एफ हमको क्या लेना है नंबर लेना है तो परसेंटाइल डी लिखेंगे ए पर्सन लगाएंगे एज लिखेंगे ये हमको समझ आ गया था है ना कि हमको जो भी वेरिएबल इनपुट करना है उसका हमको क्या लगाना पड़ता है एड्रेस लगाना पड़ता है और एड्रेस कैसे आता है सन पर्सन सिंबल से आता है तो स्कैन एफ मैंने बोला कि इंटी जर जो है आप इनपुट करा लीजिए उसके बाद क्या करते हैं पहले नॉर्मल प्रिंट करा के देख लेते हैं जितना काम हमने पहले किया था क्या मैं यहां लिख देता हूं योर एज इज परसेंटाइल डी और कॉमा लगाकर क्या दे देंगे जो मेरा एज वेरिएबल है चेक करने के लिए कि एज वेरिएबल हमने ठीक से ले लिया है या नहीं ले लिया है इसको एक बार रन कोड कर लेते हैं है ना और वो तो हमने पहले से ही देख लिया है जो हमारा य रन सिंबल है कुछ ना कुछ अटक रहा है हमको कहां जाना है हमको जाना है भैया टर्मिनल में एंड हम करेंगे एलएस देखिए क्या हुआ है हमारा स्कैन का जो बेसिकली फाइल है व ऑलरेडी बन चुका है हम लगाएंगे डॉट स्ल सॉरी डॉट स्ल अा हम गलत फोल्डर में है हम तो अभी सेकंड वाले फोल्डर में ही है सीडी डॉट डॉट हमको जाना है फोर्थ चैप्टर में माफ कीजिएगा हमको जाना है फोर्थ चैप्टर में फोर्थ चैप्टर के अंदर क्या है देखिए इफ डॉट सी है और इफ है तो हमको क्या चलाना है हमको चलाना है मैं एक बार इसको क्लियर करके ऊपर ला देता हूं ताकि आपको दिखाई दे डॉट स्ल इफ देखिए क्या बोल रहा है बोल रहा है वेलकम टू ए आरडीओ प्लीज एंटर योर एज देखिए आगे से क्यों शुरू हुआ p मैंने नेक्स्ट लाइन भी दे दिया बाद में स्पेस भी दे दिया स्पेस की जरूरत नहीं थी प्लीज एंटर योर एज मैं मान लीजिए बोल देता हूं मेरी एज है 30 एंटर किया देखिए क्या आ गया योर एज इज 30 यानी इनपुट करने का काम तो हमने ठीक से कर लिया अब हमको क्या करना है मान लीजिए मे मे को एक मैसेज देना है यह बोलना है कि आप लाइसेंस के लिए एलिजिबल हैं और यह मैसेज मुझे किन लोगों को देना है ये मैसेज मुझे सिर्फ उन लोगों को देना है जिनकी एज 18 या 18 से ज्यादा है तो अब हम लिखेंगे इफ देखिए अब बीच में हम इफ लिखना शुरू करते हैं सबसे पहले लिखेंगे इफ देखिए जो भी मेरा क्या है कीवर्ड है उसका जो कलर है वो सडन चेंज कर देता है देखिए रिटर्न का इसने चेंज कर दिया जो नहीं सेम कलर हो जैसे इंटी जर है डेटा टाइप्स का अलग कलर कर रहा है ये भी क्या है एक कीवर्ड है बट देखिए सडन जैसे ही आप आपने इफ लिखा आपको समझ आ जाएगा कि भाई ये भी क्या है एक कीवर्ड है तो मैंने लिखा इफ अब मैं क्या चेक करना चाहता हूं कंडीशन कहां आएगी दो ब्रैकेट्स के अंदर कंडीशन कैसे चेक करूंगा बोलूंगा अगर एज ग्रेटर देन हो या इक्वल टू हो मेरी ऐज क्या होनी चाहिए ज्यादा होनी चाहिए देखिए जिस तरफ ग्रेटर दन का साइन खुला हुआ होता है बचपन में सिखाते हैं जिस तरफ खुला हुआ होता है वो बड़ा होता है है ना तो मैं चेक कर रहा हूं एज मेरी ग्रेटर दन इक्वल टू होनी चाहिए 18 के और उसके बाद हम क्या लगा देंगे कली ब्रैकेट देखिए मेन के कली ब्रैकेट हमने यहां लगाए थे अब इफ के कली ब्रैकेट यहां लगा देंगे थोड़ा सा आपको कन्वेंशन भी समझना है स्पेसिंग का देखिए मैं क्या कर रहा हूं जभी भी आप कोई सिग्निफिकेंट ब्लॉक लिख रहे हैं जैसे इस प्रोग्राम के लिए सिग्निफिकेंट ब्लॉक है आप ऊपर नीचे एक एक लाइन छोड़ सकते हैं आपकी मर्जी है जभी भी आप किसी फंक्शन के अंदर कोड लिख रहे हैं जैसे मेरा मेन क्या है एक फंक्शन है दो कली ब्रेसस के अंदर आप कोड लिख रहे हैं तो आप एक-एक टैब छोड़ देते हैं है ना एक टैब आप छोड़ के लिखना शुरू करते हैं उससे क्या होता है जभी भी आप कोई लाइन देखते हैं आपको समझ आता है ये इस वाले मेथड के अंदर है इसी तरह से अब जब हम इफ के अंदर कोड लिखेंगे तो उसको क्या लिखेंगे सेम लेवल पर नहीं लिखेंगे हालांकि आपका जो एडिटर है वो अपने आप आपके लिए काम कर देगा जैसे जैसे ही मैं यहां पर एंटर दबा रहा हूं ये क्या कर रहा है दो स्पेसेस यानी एक टैब मुझे आगे लेकर आ रहा है बोल रहा है कोड यहां से लिखिए है ना है ना तो मैं क्या कर दूंगा यहां पर एक स्टेटमेंट दे दूंगा क्या प्रिंट एफ प्रिंट एफ में मैं क्या बोलूंगा यू आर एलिजिबल फॉर अ लाइसेंस है ना अगर आपकी ऐज 18 से ज्यादा है तो आप क्या है लाइसेंस के लिए एलिजिबल है बस ये कोड मैंने लिख दिया अब देखिए क्या होगा इस ब्रैकेट के अंदर अभी तो हमने सिंगल लाइन लिखी है यहां कितनी भी लाइनें लिख दें ये लाइनें कब एग्जीक्यूट होंगी सिंटेक्स समझना है यहां हमको मेन देखिए इफ लिखा इफ के बाद लगाए दो गोल वाले ब्रैकेट्स दो गोल वाले ब्रैकेट्स के अंदर आएगी कंडीशन और देखिए कंडीशन में भी जनरली क्या क्या करते हैं ऑपरेटर के दोनों तरफ एक-एक स्पेस छोड़ देना है ये अगेन इससे कंपाइलर को कोई फर्क नहीं पड़ता प्रोग्राम एकदम ठीक चलेगा ये बस आपके कोड को थोड़ा सुंदर बनाने के लिए है थोड़ा रीडेबल यानी देख के पढ़ पाए आदमी आसानी से इसके लिए है तो हमने क्या लगाई हमने लगाई कंडीशन ग्रेटर दन इक्वल टू यानी एज जो है वो मेरा बड़ा होना चाहिए 18 से उल्टा भी कर सकते थे अगर मैं 18 इधर लिखता और 20 बेसिकली अपना एज इधर लिखता तो मैं क्या करता इसको लेस दन इक्वल टू कर देता कि भाई 18 लेस दन इक्वल टू होना चाहिए एज बट वो थोड़ा पढ़ने में समझ नहीं आता आप जिस वेरिएबल को कंपेयर कर रहे हैं जनरली उसको पहले लिखा जाता है तो मैं चेक कर रहा हूं एज मेरी होनी चाहिए ग्रेटर द = 18 ये मेरी कंडीशन हुई अगर ये कंडीशन ट्रू है तो इन दो ब्रैकेट्स के अंदर जो भी है उसको एग्जीक्यूट करिए अगर ये कंडीशन फॉल्स हुई देखिए मैं बार-बार ट्रू और फॉल्स बोल रहा हूं बट वैल्यूज क्या होंगी वन और ज़ीरो होंगी ये बात याद रखिएगा सी लैंग्वेज में ट्रू और फॉल्स कोई डेटा टाइप नहीं होता है आपको क्या करना है ये मानकर चलना है कि ट्रू का मतलब है वन यानी एज ग्र द = 18 अगर मैंने 30 एंटर किया या 32 अगर मेरी एज है तो वो क्या आएगा ग्रेटर दन इक्वल टू ट्रू होगा तो ट्रू की जगह आएगा वन और इफ के अंदर अगर वन होगा तो इफ के अंदर वाला जो जो भी कोड है वो एग्जीक्यूट हो जाएगा अगर ये फाल्स हुआ यानी जीरो हुआ तो क्या होगा ये पूरा का पूरा कोड जो है वो स्किप हो जाएगा अब एक बार इसको चलाकर देखते हैं मैं जो बोल रहा हूं सही भी बोल रहा हूं या नहीं बोल रहा हूं है ना तो वापस आते हैं कहां पर माफ कीजिएगा वापस आते हैं अपने टर्मिनल पर एक बार अब इसको फिर से चला कर देखते हैं हमने कंपाइल इसको फिर से कर लिया ये बोल रहा है एज एंटर करिए देखिए कैसे पता कि ठीक हो गया ये मैंने जो स्पेस फिक्स किया था स्पेस भी फिक्स हो गया यानी दोबारा से कंपाइल हो गया अब मैं मान लीजिए अपनी एक्चुअली एज एंटर करता हूं यानी 32 मैंने जैसे ही 32 एंटर किया देखिए क्या लिखा है पहले यू आर एलिजिबल फॉर अ लाइसेंस पहले ये लिखा हुआ आया उसके बाद लिखा हुआ आया योर एज इज 32 यानी पहले ये इफ स्टेटमेंट प्रिंट हुआ प्रिंट स्टेटमेंट प्रिंट हुआ फिर ये स्टेटमेंट प्रिंट हुआ तो दोनों के दोनों स्टेटमेंट जो है वो प्रिंट हो गए हैं एक बार इसको फिर से चलाकर देख लेते हैं हम क्या कर सकते हैं इसको खुद से भी कंपाइल कर सकते हैं या जो मेरा यहां से रन कोड है जब भी मैं रन कोड करूंगा तो क्या होगा ये कंपाइल मेरा होता रहेगा वापस आते हैं टर्मिनल पर एक बार इसको क्लीन कर लेते हैं फिर से इसको चलाते हैं इस बार मैं एज मान लीजिए एंटर कर देता हूं 15 यानी मेरी एज है 15 तो देखिए जैसे ही मैंने बोला माय एज इज 15 सिर्फ सि लिखा हुआ आया योर एज इज 15 यानी सिर्फ ये वाला स्टेटमेंट मेरा प्रिंट हुआ ये वाला जो स्टेटमेंट था ये स्किप हो गया स्किप क्यों हो गया क्योंकि यहां जैसे ही एज आई होगी 15 15 इसने चेक किया 15 ग्र द इक्वल 18 क्या 15 18 से बड़ा है या बराबर है कुछ भी नहीं है 15 तो 18 से छोटा है तो ये किस तरह से वैल्युएट हुआ होगा ये वैल्युएट हुआ फॉल्स की तरह यानी रो और इफ के अंदर जैसे ही रो आया इसने पूरे के पूरे को स्किप कर दिया यानी ये वाला जो स्टेटमेंट है ये पूरा का पूरा स्किप हो गया और सीधे ये प्रिंट हुआ तो इफ उम्मीद कर रहा हूं आपको समझ आ रहा है एक कोड ब्लॉक जब भी मुझे मुझे बेस्ड ऑन अ कंडीशन एग्जीक्यूट करना है तो मैं उसके लिए क्या यूज़ करूंगा इफ यूज़ करूंगा वापस आ जाते हैं अपने जो हमारे नोट्स हैं इस पर तो सिंटेक्स क्या है इफ के बाद कंडीशन एंड देन ब्रैकेट टू चेक अ कंडीशन इफ क्या है एग्जीक्यूट्स अ ब्लॉक इफ कंडीशन इज ट्रू स्किप इज इफ फॉल्स यानी अगर कंडीशन ट्रू है तो ब्लॉक एग्जीक्यूट होगा वरना स्किप हो जाएगा कल्ली ब्रेसस कैन बी ओमिटेड फॉर सिंगल स्टेटमेंट्स बट नॉट रिकमेंडेटरी आपके देखिए इफ में बहुत सारे स्टेटमेंट हैं यहां पर अंदर बहुत सारी चीजें हैं तो ये ब्रैकेट लगाना कंपलसरी है वरना आप ये ब्रैकेट को जो है स्किप भी कर सकते हैं ये ब्रैकेट लगाना कंपलसरी नहीं है अगर आप ब्रैकेट नहीं लगाते तो मानकर चलेगा इफ के बाद जो भी स्टेटमेंट है यानी पहले सेमीकलन तक जहां भी इफ के बाद पहला सेमीकलन आया वहां तक ये मान करर चलेगा कि ये इफ के अंदर है बट ये रिकमेंड नहीं किया जाता क्योंकि कई बार पढ़ने में लोग मिस्टेक कर देते हैं या समझ नहीं आता कि इफ कहां से शुरू हो रहा है कहां से खत्म हो रहा है मैं भी आपको यही रिकमेंड करूंगा कि हमेशा इफ के बाद ब्रैकेट लगाएं बस आपको ये पता होना चाहिए कोई एग्जामिनर आपको कभी दे दे कहीं आपको आउटपुट निकालना हो किसी जॉब इंटरव्यू में तो आपको ये पता हो कि ब्रैकेट नहीं होना क बायलर एरर नहीं है अगर ब्रैकेट्स नहीं है यानी कडली ब्रेसेज नहीं है तो क्या होगा जो भी पहला सेमीकलन है वहां तक इफ को कंसीडर किया जाएगा ठीक है अदर वाइज ये ब्रैकेट जो कल्ली ब्रेसस हैं इनको लगाना जो है वो मान आप मान कर चलिए आपके लिए कंपलसरी है तो ये क्या करता है अंदर बाकी आप इसमें वेरिएबल लगा सकते हैं यू कैन स्टोर कंडीशन इन वेरिएबल फॉर शोर इफ स्टेटमेंट्स ठीक है तो ये ये हमको समझ आ गया कि इफ का बेसिकली सिंटेक्स क्या है और इफ जो है वो किस तरह से मेरा चलता है ठीक है अब इफ के बाद क्या आएगा इफ के बाद आएगा एक चीज जो हमको को समझना है ट्रुथी एंड फॉल्सी ठीक है देखिए ये चीज जनरली बाकी लैंग्वेजेस के कॉन्टेक्स्ट में यूज़ की जाती है ट्रुथी एंड फॉल्सी यानी जावास्क्रिप्ट में जनरली इसको यूज किया जाता है बट ये बात सी के लिए भी एकदम ट्रू है जो बात हमने अभी समझी यानी रिलेशनल ऑपरेटर्स में और एफ में समझी वही बात यहां पर थोड़ी सी रिइटरेट हो रही है बट समझने वाली है क्या देखिए फॉल्सी वैल्यूज क्या-क्या हैं जो जीरो है एंड नल है फॉल्सी का मतलब क्या है जो वैल्यूज फॉल्स की तरह ट्रीट होंगी ट्रुथी का मतलब क्या है जो वैल्यूज ट्रू की तरह ट्रीट होंगी वो ट्रुथी होंगी जो वैल्यू फॉल्स की तरह ट्रीट होंगी वो फाल्स होंगी यानी इफ के अंदर जरूरी नहीं है सिर्फ वन और ज़ीरो ही आए इफ के अंदर बहुत सारी चीजें आ सकती हैं और उन चीजों को किसी कभी कभी-कभी कुछ चीजें हैं जिनको ट्रू माना जाता है कुछ चीजें हैं जिनको फाल्स माना जाता है ये आपको पता होना चाहिए कि किस चीज को ट्रू माना जाएगा और किस चीज को फॉल्स माना जाएगा तो किस-किसको फॉल्स माना जाएगा रो ज़ीरो तो हमको पता ही है अगर रो आया तो ज़ीरो का मतलब ही फॉल्स है उसके अलावा बोल रहा है नल भी कंसीडर्ड फॉल्स नल को जो भी फॉल्स माना जाता है नल क्या है नल तो अभी तक हमने पढ़ा ही नहीं है नल आगे चलके अभी हम देखेंगे जब हम स्ट्रिंग पढ़ेंगे स्ट्रक्चर्स पढ़ेंगे तो थोड़े से कॉम्प्लेक्शन में कि अगर मैं इफ के अंदर यहां पर लिख दूं कैपिटल एनय एल एल यानी मैं यहां पर जाकर लिख सकता हूं इफ और इफ के अंदर आप बड़ा बड़ा लिख सकते हैं नल अगर मैं इफ नल लिखूं और यहां कुछ भी प्रिंट कर दूं प्रिंट एफ तो मैं यहां बोल सकता हूं दिस इज नेवर गोइंग टू बी प्रिंटेड ये मैं क्या बोल रहा हूं दिस इज नेवर गोइंग टू बी प्रिंटेड क्योंकि मुझे पता है इफ के अंदर अगर मैंने नल लिख दिया है तो नल क्या है नल एक फॉल्सी वैल्यू है नल क्योंकि एक फॉल्सी वैल्यू है तो ये हमेशा फाल्स होगा और ये कंडीशन कभी भी ट्रू नहीं होगी ये इफ कभी भी चल नहीं सकता यानी ये वाला स्टेटमेंट कभी भी प्रिंट नहीं होने वाला अ भी इसको चलाकर देख सकते हैं ये वाला स्टेटमेंट कभी भी प्रिंट नहीं होने वाला है है ना तो ये हो गई फॉल्सी वैल्यूज और इन दो वैल्यूज के अलावा हर चीज ट्रू है आपको ये समझना है नेगेटिव नंबर्स भी ट्रू हैं पॉजिटिव नंबर्स ट्रू हैं 0.1 ट्रू है रो के अलावा दुनिया में जितने बेस बेसिकली अ फाइट नंबर्स हमारे पास हैं हर नंबर को आपको क्या मानना है हर नंबर को आपको ट्रू मानना है हर वैल्यू को आपको ट्रू मानना है सिर्फ जीरो और नल ये दो ही चीजें ऐसी हैं जो फॉल्स की तरह ट्रीट होती हैं इसके अलावा अगर आपने इफ के अंदर कुछ भी लिख दिया तो वो ट्रुथ ही होगा ट्रुथी का मतलब उसको ट्रू समझा जाएगा इसको यूज कहां किया जाता है ट्रुथी एंड फॉल्सी को आगे चलके देखेंगे बहुत ज्यादा इनका यूज़ नहीं है बट कई बार एग्जाम में भी पूछ लिए जाते हैं जॉब इंटरव्यूज वगैरह में जहां आउटपुट निकालना हो कुछ निकालना हो वहां पूछ लिया जाता है और कुछ-कुछ कंडीशंस भी ऐसी होती हैं कि मान लीजिए यूजर इनपुट के बेस पर आपको कुछ करना है कि यार अगर यूजर ने ये इनपुट किया तो आप करिए या नहीं करिए यूजर ने क्या वैल्यू इनपुट करी उसके बेसिस पर करिए बिना कंडीशन लगाए बिना कंडीशन के भी कई बार वहां पर ये यूज़ होता है तो इफ में वाइल मतलब आगे चलके हम लूप देखेंगे वाइल में इन सब चीजों में प्रोग्राम के फ्लो को गाइड करने के लिए ट्रुथी एंड फॉल्स कई बार वैल्यू यूज़ होती है और इंपलीसिट कन्वर्जन ये तो समझ आ ही रहा है कि क्या है जीरो के अलावा जो भी नंबर्स हैं उनको क्या मानकर चला जाएगा उनको वन मानकर चला जाएगा यानी ट्रू मानकर चला जाएगा तो नॉन बोलियन वैल्यूज यानी रो एंड वन के अलावा जो भी वैल्यूज हैं आर ऑटोमेटिक कंसीडर्ड आइर ट्रू र फाल्स बेस्ड ऑन देयर न्यूमेरिक वैल्यू यानी एक्चुअली क्या है रो के अलावा ज़ीरो तो अपने आप में फॉल्स है ही रो के अलावा सिर्फ एक नल ऐसी चीज है जिसको फाल्स माना जाएगा उसके अलावा हर चीज को क्या माना जाता है ट्रू माना जाता है तो ये आपको समझ आना चाहिए ट्रुथी एंड फाल्स तो नेक्स्ट दोस्तों अब हम देखेंगे इफ एल्स है ना तो नॉर्मल इफ हमने समझ लिया अब हम देखेंगे इफ एल्स क्या है तो ये काइंड ऑफ इफ ही है इफ का भाई मान लीजिए इफ की बहन मान लीजिए इफ में अब दो कंडीशन हो गई यानी अभी तक हमने बात की थी कि एक ऐसा कोड ब्लॉक जो मुझे उस कंडीशन के ट्रू होने पर ही एज शूट करना हो वो उसके लिए हम यूज़ करते हैं इफ एल्स क्या है एल्स हमेशा तभी यूज होगा जब इफ यूज़ हो रहा हो यानी एल्स को आप बिना इफ के यूज नहीं कर सकते एल्स का मतलब बस ये है जो इंग्लिश एल्स का मतलब है कि या तो ये या ये अगर कंडीशन ये है कि मान लीजिए अभी हमने मैसेज दिखाया कि आप लाइसेंस के लिए एलिजिबल हैं बट हम ये भी तो भाई उसको भी तो मैसेज दिखाओ जो एलिजिबल नहीं है उसके लिए क्या होगा उसको समझ ही नहीं आएगा कि आपने किया क्या तो मान लीजिए हम ये चाहते हैं कि अगर कंडीशन ट्रू हो यानी अगर एज 18 या 18 से ऊपर हो तो मैसेज जाए कि कांग्रेचुलेशन आप लाइसेंस के लिए एलिजिबल हैं अदर वाइज उनको मैसेज जाए कि भाई प्लीज थोड़ा सा वेट करिए आपकी उम्र जब 18 साल होगी उसके बाद आप लाइसेंस के लिए एलिजिबल हो जाएंगे है ना तो यानी या तो ये दिखाइए या ये दिखाइए तो वहां पर यूज़ होता है इफ एल्स जैसे यहां पर देखिए एग्जांपल है क्या है देखिए मग में क्या दिख रहा है मुझे समझ नहीं आ रहा मग के अंदर क्या है शायद गन्ने का जूस मुझे लग रहा है ठीक है तो हम क्या बोल रहे हैं अगर आप थर्स्टी हैं है ना थर्स्टी मतलब ये कंडीशन है यहां सिर्फ नाम दिया गया है यहां ब्रैकेट में हम कंडीशन लिखेंगे अगर आप थर्स्टी हैं तो आप गन्ने का जूस पी लीजिए अदर वाइज जो जूस है वो एमटी है यानी खाली ग्लास आपके लिए चल जाएगा क्योंकि आप थर्स्टी नहीं है है ना तो अगर हम फ्लो चार्ट में देखेंगे यानी स्टार्ट होगा इफ कंडीशन आएगी अभी तक क्या था इफ कंडीशन ट्रू थी तो इफ बॉडी आती थी वरना इफ सीधा यहां चला जाता था अब क्या है अगर कंडीशन ट्रू है तो इफ वाली बॉडी आएगी फाल्स है तो एल्स वाली बॉडी आएगी और उसके बाद जो मेरा कोड है वो रिज्यूम होकर एग्जिट पर पहुंच जाएगा यानी व एल्स क्या है एग्जीक्यूट्स अ ब्लॉक व्हेन द इफ कंडीशन इज फॉल्स इफ ब्लॉक क्या होता है जब कंडीशन ट्रू है तो इफ ब्लॉक चलता है और एल्स क्या है जब इफ कंडीशन फाल्स होगी तो यह वाला ब्लॉक चलेगा तो चलिए इसको हम चलाकर देखते हैं वापस चलते हैं कहां पर यहीं पर एक नई फाइल बनाते हैं इफ के साथ-साथ अब हम क्या बनाते हैं या अच्छा चलिए वैसे हम इसी फाइल में कर सकते हैं जो हमारा काम है क्योंकि मोस्टली हमको यही करना है इसकी एक कॉपी बना लेते हैं है ना तो इफ सी के साथ-साथ हम एक कॉपी बना लेते हैं और इसका नाम हम कर देते हैं रिनेम क्या करेंगे इस फाइल को हम कर देंगे रिनेम एंड हम बोलेंगे इफ एल्स ड सी है ना इफ एल्स डट सी इफ के अंदर अब हमको क्या करना है देखिए बाकी सब तो सेम है वेलकम टू ए आरटीओ सेम है प्लीज एंटर योर एज हमको करना था इसको एक नंबर और मैं थोड़ा सा बड़ा कर देता हूं के लिए है ना तो एक्चुअली छोटा ही ज्यादा ठीक है तो वेलकम टू एआरटीओ करना था एज एंटर हो गई है अगर 18 से ज्यादा है तो यू आर एलिजिबल फॉर अ लाइसेंस ये भी ठीक है ये नल वाला कोड अभी के लिए हम हटा देते हैं उसके बाद हमको क्या करना है हमें बोल रहे थे कि एल्स लगाइए यानी उस बंदे को भी मैसेज दीजिए उस पर्सन को भी मैसेज दीजिए जो एलिजिबल नहीं है तो आप क्या कर सकते हैं जहां पर इफ खत्म हुआ है ब्रैकेट पर वहीं आप क्या लिखिए एल्स लिखिए देखिए एल्स भी एक कीवर्ड है सडन एकदम कलर क्या हो गया इफ वाला ही हो गया उसके बाद लगेगा ब्रैकेट तो सिंटेक्स क्या है जहां पर इफ खत्म हुआ है वहां पर इमीडिएट आप एल्स लिख सकते हैं और एल्स में लगा देंगे ब्रैकेट अगर आप नॉर्मल जाकर कहीं पर भी एल्स लिख देंगे तो बेसिकली इसके लिए क्या होगा आपको कंपाइलर एरर आ जाएगी देखिए यहां पे तुरंत एरर दे दिया इसने एक्सपेक्टेड स्टेटमेंट ये बोल रहा है भाई एल्स आपने कहां पर लगा दिया रैंडम आप कहीं पर भी एल्स नहीं लिख सकते जैसे रैंडम हम इफ कहीं पर भी लिख सकते हैं अगर मैं इफ लिखना चाहूं तो इफ के साथ मान लीजिए मैंने लिख दिया वन तो इफ मैं कहीं पर भी लिख सकता हूं बट एल्स आप कहीं पर भी नहीं लिख सकते एल्स हमेशा आएगा इफ के बाद ठीक है एल्स में अब मैं क्या बोल रहा हूं मान लीजिए यहां पर एक और प्रिंट स्टेटमेंट दे देते हैं क्या प्रिंट हम यह बोलेंगे यू आर टू यंग यानी अभी आप बहुत छोटे हैं प्लीज अप्लाई आफ्टर यू आर 18 है ना अभी आप बहुत छोटे हैं लाइसेंस के लिए तब अप्लाई करिए जब आपकी उम्र 18 वर्ष हो चुकी हो यह मैंने बोल दिया अ देखिए इसको फिर से कंपाइल करके देख लेते हैं जो हमने कमांड लाइन वाला कंपाइलेशन सीखा था वो करके देख लेते हैं कैसे करेंगे इफ एल्स को हमको कंपाइल करना है तो लिखेंगे जीसीसी इफ एल्स ड सी और हमको आउटपुट किस तरह से चाहिए हमको आउटपुट चाहिए इफ एल्स ड आउट है ना तो स्लैश आप आउट भी लिख सकते हैं स्ल ओ भी लिख सकते हैं स्ल ओ ही लिख लेते हैं खाली मैंने लिख दिया इफ एल्स एलएस करूंगा तो देखिए क्या है इफ एल्स ड आउट मेरा बन गया है डॉट स् इफ एल्स ड आउट को चला लेते हैं अब ये बोल रहा है अपनी एज एंटर करिए मान लीजिए मैंने बोला 43 43 में बोल रहा है यू आर एलिजिबल फॉर अ लाइसेंस एक बार इसको फिर से चलाते हैं इस बार एज मैं डाल देता हूं अपनी 15 अब देखिए जैसे ही मैंने एज 15 डाली ये बोल रहा है यू आर टू यंग प्लीज अप्लाई आफ्टर यू आर 18 और उसके बाद आ गया मेरा लास्ट वाला स्टेटमेंट यानी यहां पर भी हम क्या कर सकते हैं ब n दे सकते हैं ताकि इसके बाद जो स्टेटमेंट आए वो कहां है नेक्स्ट लाइन के अंदर आए ना तो देखिए क्या हुआ अगर मेरी एज बेसिकली 18 से ज्यादा थी 43 थी तो ये वाला स्टेटमेंट प्रिंट हुआ और जब मेरी एज 18 से कम थी यानी 15 थी तो ये वाला मेरा स्टेटमेंट प्रिंट हो गया तो एल्स आपको समझ आ गया है ए एल्स का मतलब ये है या तो ये या ये यानी इफ का मतलब है ये या फिर एल्स का मतलब है अगर ये नहीं ट्रू हो पाया तो ये यानी इफ कंडीशन जब फॉल्स होगी तो भैया ये वाला कोड ब्लॉक एग्जीक्यूट कर दीजिएगा ठीक है तो ये था दोस्तों मेरा हमारा एल्स तो इफ एल्स हमने समझ गया कि इफ एल्स का नाम साथ में क्यों लिया जाता है सिर्फ एल्स कभी नहीं नहीं बोला जाता इफ एल्स या तो इफ होगा या इफ एल्स होगा तो एल्स का मतलब है कि अगर ये कंडीशन ट्रू नहीं है तो बेसिकली ये वाला काम आप कर दीजिएगा ठीक है इफ एल्स हमको समझ आ गया उससे अगला पॉइंट आया अब क्या इफ एल्स लैडर इफ एल्स लैडर का क्या मतलब है यानी मल्टीपल कंडीशंस है सीक्वेंशियल चेकिंग आपको करनी है जैसे कि अगर हम फ्लो चार्ट में बात करें तो स्टेप वन में आपने मान लीजिए एक डिसीजन लिया अगर ट्रू है तो ये यानी तो यहां बेसिकली तो यहां जाइए स्टेप टू पर जाइए अदर वाइज फिर एक और डिसीजन ये डिसीजन चेक करिए अगर ट्रू है तो यह काम करिए अदर वाइज एक और डिसीजन अगर ट्रू है तो यह करिए अदर वाइज एक और डिसीजन देखिए जो बाकी डिसीजंस है वो सिर्फ नो में हो रहे हैं अगर मैं स्टेप टू पर पहुंच गया तो प्रोग्राम खत्म हो गया स्टेप थ्री पर पहुंच गया तो प्रोग्राम खत्म हो गया फोर पर पहुंच गया तो प्रोग्राम खत्म हो गया तो एक बार पढ़ते हैं एल्स का मतलब क्या है एफ एल्स इफ का क्या मतलब है सीक्वेंशियल चेकिंग द इफ एल्स लेडर चेक्स मल्टीपल कंडीशंस वन आफ्टर द अदर फ्रॉम टॉप टू बॉटम इफ एल्स इफ को इफ एल्स लेडर भी बोला जाता है सिर्फ इफ एल्स लेडर भी बोलते हैं इफ एल्स इफ लेडर लिखा है हमने इफ एल्स इफ लेडर भी बोल सकते हैं सिर्फ इफ इफ भी बोल सकते हैं सिर्फ इफ एल्स लेडर भी बोल सकते हैं सबका एक ही मतलब है इसका मतलब क्या है चलिए पहले एक बार इसको चलाकर देखते हैं फिर वापस आएंगे और क्या करेंगे बाकी सब जो हमारा जो कांसेप्ट है उनको यहां पर समझने की कोशिश करेंगे तो सबसे पहले क्या करते हैं मान लीजिए इसकी मैं एक और कॉपी बना लेता हूं इफ एल्स ड स जो है इसकी एक और कॉपी हम बना लेते हैं और इसका नाम हम रख देते हैं इफ एल्स लैडर मैंने नाम रख दिया क्या इफ एल्स लडर ड स है ना इसमें मान लीजिए क्या करेंगे मान लीजिए 18 से ऊपर आप लाइसेंस के लिए एलिजिबल है अब मान लीजिए किसी ने बोला कि यार अगर आपकी उम्र 70 वर्ष से ऊपर हो गई है तो भी क्या होना चाहिए आप लाइसेंस के लिए एलिजिबल नहीं होने चाहिए कंडीशन इस तरह से लिखिए कि अगर आपकी उम्र 70 से ऊपर है तो भी आप एलिजिबल नहीं है अगर आपकी उम्र 18 से कम है तो भी आप एलिजिबल नहीं है है ना क्योंकि अगर आप 70 से ऊपर हैं तो भी आपको लाइसेंस ऑपरेटर नहीं करना चाहिए हो सकता है आपकी हेल्थ खराब हो कुछ भी हो मैं ऐसे ही एक रैंडम एग्जांपल दे रहा हूं मैं ये नहीं कह रहा हूं ऐसा होना चाहिए मैं बस आपको बता रहा हूं हम अपने कोड के लिए इस तरह की कंडीशन लिखना चाहते हैं है ना तो मान लीजिए मैं क्या करता हूं मैं उल्टी चीजें चेक कर लेता हूं है ना दूसरे तरह का हम ऑपरेटर भी देख लेंगे यानी मैंने चेक कर लिया कि भाई अगर आपकी एज 18 से कम हो तो क्या होना चाहिए मैं लिख दूंगा उस केस में ये वाला स्टेटमेंट मेरा आ जाएगा मैं क्या लिख दूंगा इसको जरा मैं थोड़ा थोड़ी देर के लिए निकाल लेता हूं अभी इस प्रिंट स्टेटमेंट को और इसको हम डाल लेते हैं बाहर है ना जहां हमको चाहिए होगा वहां इसको लगा लेंगे अभी क्या करेंगे कॉमेंट लगाकर कमेंट डालकर मैं इसको यहीं पर डाल देता हूं ठीक है कॉमेंट मतलब ये हो गया है इनफेक्टिव ये अभी नहीं चलने वाला मैं एल्स को भी फिलहाल के लिए हटा देता हूं लिखाता हूं मैंने क्या लगाया मैंने सिर्फ एक कंडीशन लगाई कि अगर आपकी ऐज 18 से कम है तो मैं लिख दूंगा यू आर टू यंग प्लीज अप्लाई आफ्टर यू आर 18 अगर आपकी जज 18 से कम नहीं है तो क्या करना है तो भी मेरे को दो काम करने हैं मेरे को चेक करना है कि आपकी ऐज कहीं 70 से ऊपर तो नहीं है तो मैं अब यहां क्या लिख सकता हूं एल्स के साथ-साथ ही आप लिख सकते हैं इफ यानी एल्स इफ है एल्स इफ क्या है कि अगर ये कंडीशन ट्रू नहीं है तो आप अगली कंडीशन चेक कर लीजिए अब मैं चेक कर लेता हूं कहीं आपकी ऐज 70 वर्ष से ऊपर तो नहीं है 70 साल से ऊपर तो नहीं है अगर आपकी जज 70 साल से ऊपर है तो आपको हम क्या बोलेंगे य फिर प्रिंट ये बेसिकली कॉपी पेस्ट करके डाल देते हैं मैं बोल देता हूं यू आर सीनियर यू कैन नॉट अप्लाई एनीमोर मैंने बोल दिया कि भाई अगर आपकी जज 18 से कम है तो आपके लिए यह होना चाहिए अगर आपकी जज 70 से ज्यादा है तो आपके लिए यह होना चाहिए यानी आप अभी सीनियर है आप अब अप्लाई नहीं कर सकते और अगर दोनों ही कंडीशन ट्रू नहीं है तो क्या होना चाहिए तब बेसिकली यह वाला जो हमने कॉम में डाला है इसको यहां डाल देते हैं तब मैं बोल सकता हूं कि यू आर एलिजिबल फॉर अ लाइसेंस ये आपको बात समझ आई देखिए इफ एल्स इफ में अब हम क्या कर रहे हैं अब तीन कंडीशन है अगर ये इफ ट्रू हो गया अगर ये वाली कंडीशन ट्रू हो गई तो ये दोनों स्किप हो जाएंगी इफ एलस इफ एलस इफ ये एलस इफ में आप कितने भी एलस इफ लगा सकते हैं बाय द वे है ना आप यहां लिख सकते हैं यू आर सीनियर तो अब ये हो गया मैं एक और एलस इफ लगा सकता हूं एक और एल्स लगा सकता हूं कितने भी एल्स इफ लगते जा सकते हैं और बाद में एल्स आ सकता है है ना बाद में एल्स नहीं भी आपका मन है आप लगाना चाहे या नहीं लगाना चाहे जैसे इफ में आपका मन था ऐसे ही एल्स में भी आपका मन है बट अभी हमने कंडीशन इस तरह से लिखी है कि अगर एक भी कंडीशन ट्रू हो जाती है तो वही एग्जीक्यूट होगी बाकी सारी की सारी स्किप होती चली जाएंगी क्योंकि बाकी सब क्या हैं एल्स के साथ लगे हुए हैं एल्स के साथ लगने का मतलब क्या है अगर मेरे ऊपर वाला ट्रू नहीं हुआ हो तो ही मैं चलूं अगर ऊपर वाला एक भी ट्रू हो गया तो उसके बाद मान लीजिए हमने यहां 10 एलसीएफ लिखे हुए हैं पांचवा ट्रू हो जाता है तो अगर पांचवा ट्रू हो गया तो उसके बाद वाले चेक भी नहीं होंगे उसके बाद वाले सीधे के सीधे निकल जाएंगे यानी पूरे इफ एल्स ब्लॉक में से सिर्फ एक ही स्टेटमेंट चल एक बार इसको फिर से हम कंपाइल करके देख लेते हैं कैसे लिखेंगे जीसीसी हमको कंपाइल किसको करना है इफ एल्स लैडर को है ना मैंने बोल दिया इफल्स लडर डॉट सी एक बार देखते हैं इफल्स अच्छा ये थोड़ा सा ऐसे नाम आ रहा है हां इफ एल्स लडर ड सी माइनस इफ एल्स हम लैडर भी एक ही बार में लिख देते हैं इफ एल्स लडर डॉट आउट एलएस करते हैं देखिए आउट बन गया है 1 के करते हैं उसको एक बार चला करर देख लेते हूं बोलता हूं इफ एल्स लैडर डॉट आउट चलाए बोल रहा है एज बताइए मान लीजिए सबसे पहले सबसे बड़ी एज डाल कर देखते हैं पहला स्टेटमेंट एग्जीक्यूट नहीं करते बीच वाला मान लीजिए करते हैं मैं बोलता हूं 70 ओ माफ कीजिएगा मैंने यहीं पर लिख दिया मैं बोलता हूं मेरी एज है 75 तो देखिए क्या बोला इसने बोला यू आर सीनियर यू कैन नॉट अप्लाई एनी मोर एंड देन योर एज इज 75 यानी यहां पर आया होगा अब देखिए चला किस तरह से होगा सबसे पहले यहां आया एज मैंने क्या डाली 75 इसने चेक किया क्या 75 18 से कम है नहीं है तो इफ तो एग्जीक्यूट नहीं हो सकता उसके बाद कहां जाएंगे एल शिफ पर जाएंगे एल सिफ पर जाकर चेक किया क्या एज 75 जो है वह 70 से ज्यादा है हां है तो इसके अंदर वो घुस गया ये उसने प्रिंट कर दिया यू आर सीनियर यू कैन नॉट अप्लाई एनीमोर और उसके बाद उसने क्या किया सीधे एग्जिट मारकर प्रिंट कर दिया योर एज इज 75 यानी क्योंकि ये एल्स इफ एग्जीक्यूट हो गया था तो ये एल्स के अंदर नहीं घुसा एक बार इसको फिर से चलाकर देखते हैं मैं फिर से चलाता हूं इस बार अपनी एज में डाल देता हूं 12 इयर्स देखिए मैंने क्या बोला जैसे ही मैंने 12 बोला क्या हुआ होगा 12 यहां आया एज चेक हुई 12 लेन 18 यस ट्रू है ये हो गया यू आर टू यंग प्लीज अप्लाई आफ्टर यू आर 18 और उसके बाद सीधे प्रिंट हुआ योर एजे यानी क्योंकि यह ट्रू हो चुका है तो यह एलस चेक भी नहीं होगा कंडीशन चेक भी नहीं होगी यह कंडीशन चेक भी नहीं होगी अगर मैं आपको ये दिखाने की कोशिश करूं मान लीजिए हमको कैसे पता हैय कंडीशन चेक हुई या नहीं चेक होती भी तो 12 कौन सा 70 से बड़ा निकलने वाला था यह तो फॉल्स हो सकती है फॉल्स है तो भी बेसिकली बाहर आ सकते हैं मान लीजिए मैं एल्स में क्या कर लेता हूं एल में गलत कंडीशन में लिख देता हूं कि अगर एज कम हो 10 साल से है ना यह मैंने कंडीशन लिख दी एक बार इसको दोबारा से कंपाइल कर लेते हैं मैंने इसको कंपाइल फिर से कर लिया तो देखिए अब मैं क्या बोल रहा हूं अगर मैं यहां पर इसको एक बार चलाते हैं फिर से अगर मैं यहां पर अब एज डाल दूं मेरी 5 साल तो देखिए क्या होना चाहिए अगर ये सारे के सारे कंडीशन चेक होते तो 5 18 से कम है यस ये प्रिंट होता पांच 10 से कम है हां 10 से भी कम है ये भी प्रिंट होना चाहिए था फिर ये प्रिंट होता पर अगर मैं पांच चलाकर आपको दिखाऊंगा तो देखिए क्या प्रिंट हुआ यू आर टू यंग ये वाला तो प्रिंट हुआ पर यू आर सीनियर ये वाला प्रिंट नहीं हुआ इससे क्या बात साबित होती है कि ये वाली कंडीशन चेक ही नहीं हुई यानी इफ एल्स इफ एल्स में इफ एल्स लेडर में एक जो मेन पॉइंट समझने का है वो ये है कि अगर एक भी कंडीशन ट्रू हो जाती है तो बाकी सब क्या हो जाएंगे स्किप हो जाएंगे है ना ये कंडीशन हम वापस लगा देते हैं एज क्या थी माफ कीजिएगा एज ग्रेटर दन 70 है ना ये बात हमको समझ आ गई कि अगर एक भी ए इफ एल्स इफ एल्स इफ ज जो भी ट्रू हो गया वो एग्जीक्यूट होगा बाकी सब स्किप हो जाएंगे वरना जब सारे के सारे कंडीशन चेक हो चुके हैं और सारे के सारे फाल्स हैं तो लास्ट वाला एल्स जो है आपका वो आपका काम कर देगा ठीक है तो ये था हमारा इफल्स लेटर एक बार इसके जो फैक्ट्स है जो हमारे नोट्स में प लेते हैं क्या इफल्स लैडर चेक्स मल्टीपल कंडीशंस ये समझ आ गया वन आफ्टर द अदर फ्रॉम टॉप टू बॉटम ऊपर से नीचे की तरफ हमेशा ये चलेगा फर्स्ट ट्रू कंडीशन ये वही पॉइंट है जो हम तबसे एमफसिस कर रहे हैं एग्जीक्यूट्स द ब्लॉक ऑफ़ द कोड एसोसिएटेड विद द फर्स्ट ट्रू कंडीशन इट एनकाउंटर जो भी पहली ट्रू हो गई बस उसके अंदर घुसेगा उसको एग्जीक्यूट करेगा बाकी सबको छोड़ देगा यानी एग्जिट एग्जिट आफ्टर एग्जीक्यूशन वंस अ ट्रू कंडीशंस ब्लॉक इज एग्जीक्यूटेड एक बार अगर ट्रू वाला मेल को मिल गया इट विल एग्जिट द लेटर पूरी की पूरी लेटर जो है वो एग्जिट हो जाएगी और फॉल बैक विद इ या फॉल बैक विद एल्स आप ऐड कर सकते हैं यानी इफ नन ऑफ द कंडीशंस आर ट्रू देन फाइनल एल्स ब्लॉक विल एग्जीक्यूट अ डिफॉल्ट केस यानी ये आप कर सकते हैं जो डिफॉल्ट केस है आपका डिफॉल्ट का मतलब क्या है कि भाई कुछ ना हो तो ये कर लेना है ना जैसे पहले समय में बोलते भाई कुछ ना हो तो भी ये कर लेना आजकल वैसे वो शायद बीटेक बन गया है कि अगर बच्चा कुछ नहीं कर रहा है तो चलो बीटेक करा दीजिए शायद बीटेक में जाकर ही म्यूजिशियन बनने का सपना निकल आए एक्टर बनने का सपना निकल आ र निकल आए है ना एनीवे तो एल्स क्या है एल्स से आपका बेसिकली डिफॉल्ट या फॉल बैक की अगर कुछ भी मेरी कंडीशन ट्रू नहीं हुई तो बेसिकली आप इस वाले को एग्जीक्यूट कर सकते हैं तो ये है हमारा इफ एल्स इफ लेटर ठीक है अब इसका लास्ट वाला पोर्शन देखिए एक बार मैं अगर आपको वापस लेकर जाऊं ये सब वो है जो हमने सबसे पहले आपके नोट्स में लिखे हुए थे देखिए हमने इफ एल्स के अंदर क्या देखा था इफ हमने पढ़ लिया इफ एल्स हमने पढ़ लिया इफ एल्स इफ भी हमने पढ़ लिया अब आ जाते हैं नेटेड इफ के ऊपर नेस्ट डफ क्या चीज है अब पढ़ते हैं हम उसको नेस्ट डफ को अब हम समझते हैं तो इफ एलस फ लैडर हो गया मेरा लास्ट स्टेटमेंट पर हम आ गए लास्ट चीज पर हम आ गए जिसका नाम है नेस्ट डफ नेस्ट डफ का क्या मतलब है देखिए ये जो डायग्राम है इससे आपको एकदम क्लियर हो जाएगा यहां क्या है नेस्टेड का देखिए लैडर में हम क्या कर रहे थे बहुत सारी कंडीशंस थी जिनमें से सिर्फ एक को ट्रू होना था या नेस्टेड इफ में हम क्या कर रहे हैं उल्टा कर रहे हैं क्या कि मान लीजिए मैंने पहली कंडीशन ट्रू की चेक की वो या तो ट्रू हो सकती थी या फॉल्स हो सकती थी उस ट्रू या फॉल्स के अंदर हमने एक और इफ कंडीशन चेक कर ली यानी ये कंडीशन टू कंडीशन टू के बेस पर इसके अंदर फिर से हमने एक ट्रू या फाल्स बना दिया यानी इफ के अंदर अगर आपने इफ लगा दिया है या एल्स के अंदर अगर आपने इफ लगा दिया है तो उसको क्या बोलेंगे नेस्टेड नेस्टेड का मतलब क्या होता है एक एक के अंदर एक नेस्टेड का मतलब क्या है देखिए बहुत जगह यूज होता है प्रोग्रामिंग में नेस्टेड लूप्स भी हम पढ़ेंगे जब आगे चलेंगे नेस्टेड स्विच भी आप लगा सकते हैं कुछ भी लगा सकते हैं एक के अंदर एक चीज अगर आ गई तो वो माना जाएगा नेस्टेड तो नेस्टेड का क्या मतलब है एक इफल्स कंडीशन के अंदर एक और इफल्स कंडीशन अगर ऐसा हो तो आप क्या करेंगे बेसिकली ये हमको यहां पर चेक करना है है ना मान लीजिए हम क्या करते हैं वापस चलते हैं अपने एग्जांपल की तरफ इसको एग्जीक्यूट करेंगे इसकी फिर से कॉपी बनाते हैं एफ एल्स लैडर की है ना और इस बार इसका हम नाम रख देंगे नेस्टेड इफ ठीक है मैं हाइ फन लगा कर ही रख देता हूं ताकि स्पेस हम के साथ हमको डील ना करना पड़े है ना तो ये हो गया नेस्टेड इफ अब देखिए क्या करना है मान लीजिए हमने एज तो एंटर कराई एक चीज और एंटर करा लेते हैं क्या मान लीजिए उसका जेंडर भी एंटर करा लेते हैं है ना यानी जेंडर का क्या मतलब है या मान लीजिए हम ये एंटर करा लेते हैं कि आप इंडियन है या आप इंडियन नहीं है आपकी नेशनलिटी एंटर करा लेते हैं है ना तो मैं क्या रख लेता हूं यहां पर एक और इंटी जर हम रख लेते हैं क्या य हम रख लेते हैं कैरेक्टर जिसमें रखते हैं इज नाम रख लेते हैं इज इंडियन आप इंडियन है या आप इंडियन नहीं है है ना तो इसके बाद एक प्रिंट एफ करके एक बार य पूछ भी लेते हैं यूजर से यानी यूजर से हम क्या पूछेंगे आर यू एन इंडियन सिटीजन ठीक है तो हमने चेक कर लिया कि आप इंडियन सिटीजन है या नहीं जरा यह बता दीजिए और किस तरह से बताएंगे य हम इसको बता देते हैं कि भाई आप या तो y लिखिए या फिर n लिखिए है ना y और n में से एक चीज लिखकर आप यहां पर हमको बताइए उसके बाद क्या करेंगे स्कैन कर लेते हैं देखिए जब कैरेक्टर को इनपुट कराना है तो क्या करते हैं हम लिखते हैं परसेंटाइल सी है ना तो परसेंटाइल सी हमने लिख लिया है उसके बाद क्या करेंगे एन पर्सन इज इंडियन अब क्या आ जाएगा जब यूजर एंटर करेगा वा या ए तो वो आ जाएगा मेरा इज इंडियन में अब मान लीजिए कंडीशन ये है कि उसने बोला भाई सबसे पहले तो यही चेक कर लो ये जो अप्लाई कर रहा है ये इंडिया का सिटीजन है भी या नहीं अगर ये इंडिया का सिटीजन नहीं है तो हम इसको लाइसेंस इशू नहीं कर सकते हैं तो देखिए मैं सबसे पहले क्या कंडीशन चेक करूंगा नीचे वाले को भी इग्नोर करिएगा मैं सबसे पहले एक कंडीशन चेक करूंगा इफ ये जो इज इंडियन है इक्वल टू इक्वल टू ये देखिए दूसरा रिलेशनल ऑपरेटर हम यूज़ कर र हम इक्वल टू चेक करना चाहते हैं यह जो इसने एंटर किया है क्या यह वाई है अगर वह इंडियन है तो ही मैं यह जो पूरा काम कर रहा हूं यह करूंगा है ना यानी मैं क्या कर सकता हूं मैं बोल सकता हूं कि अगर आप इंडियन है तो ही मैं यह सब चेक करूं इसको हमने डाल दिया इसके अंदर क्योंकि देखिए अंदर हमने बात की थी अभी तो इफ इफ एक ही उसमें आ रहे हैं एक ही साथ आ रहे हैं एक ही लेवल पर आ रहे हैं इसको हमको दिखाना है कि ये पूरा इफ एल्स इस इफ के अंदर है तो उसको हमने एक स्पेस शिफ्ट कर दिया दो-दो स्पेस शिफ्ट कर दिया तो देखिए क्या हुआ इस इफ के अंदर ये पूरा का पूरा जो मेरा कंडीशन था ये समा गया है इसका नीचे वाले का एक और एल्स में लगा देता हूं और यहां प्रिंट कर देते हैं कि भाई आप इंडियन सिटीजन नहीं है यानी ओनली इंडियन सिटीजंस कैन अप्लाई इसको कर देते हैं बंद देखिए क्या हुआ है एक मेरा इफ है है ना बाहर वाला इफ है और इस इफ के अंदर एक दूसरा इफ मैंने पूरा का पूरा अपना स्ट्रक्चर लगा दिया है है ना अब वो इफ हो सकता है इफ एल्स हो सकता है फल्स लडर हो सकता है कुछ भी हो सकता है कहीं पर भी अगर हम एक के अंदर एक लगा रहे हैं तो वो क्या होगा नेस्ट होगा एक बार इसको चलाकर देख लेते हैं मैं वापस यहां आता हूं इसको हम करते हैं जीसीसी फाइल का नाम क्या है नेस्टेड इड सी माइन नेड डॉट आउट हमने इसको कर लिया कंपाइल कोई एरर मेरी नहीं आई है इसको एक बार अब चला करर देख लेते हैं है ना तो हम करते हैं नेस्टेड इफ डॉट आउट क्या बोल रहा है सबसे पहले अपनी ए एंटर करिए मान लीजिए मेरी ज एकदम ठीक है मेरी ज है 32 मैंने डाल दिया अय पूछ रहा है आर यू एन इंडियन सिटीजन अच्छा हमने इसको स्कैन किया पर यह स्कैन के लिए रुका नहीं एक बार चेक कर लेते हैं अच्छा देखिए य हुआ क्या है मैंने पहले स्कैन किया एज है ना ए हमने स्कन लिया उसके बाद देखिए इसने वेट नहीं किया इज इंडियन लेने के लिए ये भी एक चीज है जो हमको सीख लेनी चाहिए देखिए हुआ क्या है हमने एंटर किया 32 और 32 एंटर करने के बाद मैंने क्या दबाया मैंने दबाया एंटर एंटर भी क्या है एक कैरेक्टर है एक तरह का वो कैरेक्टर इसने इस इंडियन में मान लिया है ये वाइट स्पेस कैरेक्टर इनको बोलते हैं य स्पेस हो टैब हो एंटर हो इनको क्या बोला जाता है वाइट स्पेस कैरेक्टर बोला जाता है इसलिए इसने स्कैनफ में यहां पर वेट नहीं किया उसका और इस इंडियन को इसने क्या मान लिया इसने मान लिया एंटर कैरेक्टर और एंटर कैरेक्टर इसने कंपेयर किया y के साथ y इक्व टू बेसिकली नहीं है ओबवियसली एंटर कैरेक्टर के तो इसने सीधा ये प्रिंट कर दिया क्या ओनली इंडियन सिटीजंस कैन अप्लाई और आपकी एज है 32 ये पूरे के पूरे को स्किप किया बाद में जो हमारा लास्ट ट है उसको तो उसने एग्जीक्यूट कर ही दिया इससे बचेंगे कैसे ऊपर वाले एंटर से बचे कैसे ऊपर एंटर मारना भी जरूरी है एंटर करना भी जरूरी है एज के लिए देखिए आप क्या कर सकते हैं कैरेक्टर वगैरह स्कैन करते हुए यहां पर एक स्पेस दे सकते हैं स्पेस देने का क्या मतलब होता है स्पेस देने का मतलब होता है कि पिछली लाइन का अगर कोई भी एंटर ब्लैंक स्पेस वाइट स्पेस कुछ भी टाइप का कैरेक्टर है उसको आप इग्नोर कर दीजिए जब कोई एक्सप्लिसिट कैरेक्टर जो है वो एंटर हो उसी को कंसीडर करिएगा चलिए एक बार इसको दोबारा चलाकर देखते हैं क्या करेंगे दोबारा से इसको करेंगे कंपाइल और फिर से इसको करते हैं रन देखिए फिर से इसने पूछा एज मैं लिख देता हूं 32 अब देखिए इस बार ये वेट कर रहा है क्या आर यू एन इंडियन सिटीजन y डालना है और एन डालना है अगर मैं डाल देता हूं y तो देखिए क्या बोला इसने यू आर एलिजिबल फॉर अ लाइसेंस योर एज इज 32 ये इसने ठीक से प्रिंट कर दिया यू आर एलिजिबल फॉर अ लाइसेंस योर एज इज 32 यानी सबसे पहले देखिए यहां आया होगा इसने चेक किया इज इंडियन y y से कंपेयर किया हमने बेसिकली एंटर भी किया था जो कि ट्रू है ये ट्रू इसने किया अब देखिए इसने क्या डिसाइड कर लिया मुझे इस इफ के अंदर जाना है तो ये एल्स तो कभी भी एग्जीक्यूट नहीं होने वाला ये एल्स देखिए इस इफ के साथ का है आपको मैच करना है ये एल्स किसके साथ का है इस इफ के साथ का है क्योंकि इस इफ के अंदर हम घुसे तो ये वाला तो अब एग्जीक्यूट नहीं होने वाला अब आ जाते हैं इसके अंदर अब इसके अंदर इसने कहा र यार एक के बाद फिर से आपने एक गफ लगा दिया कोई बात नहीं अब एज चेक करते हैं क्या 18 से कम है नहीं है क्या 70 से ज्यादा है नहीं है तो ये एल्स वाला बेसिकली प्रिंट हो गया यानी यू आर एलिजिबल फॉर अ लाइसेंस एक बार इसको फिर चलाकर देखते हैं इस बार मैं बोलता हूं मेरी एज है है फिर से 32 बट मान लीजिए मैं इंडिया का सिटीजन नहीं रहा भगवान ना करे कभी ऐसा हो बट मान लीजिए अब मैं इंडिया का सिटीजन नहीं रहा मैंने लिखा n तो क्या लिखा आया ओनली इंडियन सिटीजंस कैन अप्लाई एंड योर एज इज 32 यानी ये प्रिंट हो गया ओनली इंडियन सिटीजंस कैन अप्लाई इसमें हमने बैक स्लश नहीं लगाया था तो क्या हुआ अगले वाला लाइन भी इसी के लाइन में प्रिंट हो गया योर एज इज 32 ठीक बात है तोय हमको समझ आ गया नेस्टेड इफ किस तरह से काम करता है एक इफ के अंदर इफ या मान लीजिए हम एल्स के अंदर भी कोई और इफ लिखता है उसको भी क्या माना जाएगा नेस्टेड इफ एल्स ही माना जाएगा इसके नोट्स में हमने और क्या लिखा है कंडीशनल रार्ज रार्ज का क्या मतलब होता है ये देखिए जो दिख रहा है इसी को रार्ज बोला जाता है है ना यानी एक के अंदर एक के अंदर एक जब होता है उसको बोलते हैं रार की तो रार कल कंडीशंस अगर आपको चेक करनी है तो उसके लिए काम आता है कॉम्प्लेक्शन काफी ज्यादा आप इसे हैंडल कर सकते हैं बहुत सारी तरह की कंडीशन जो कॉमिनेशन है वो आप यहां पर चेक कर सकते हैं सिंटेक्स क्या है इफ इनसाइड अनदर इफ या तो एक इफ के अंदर इफ हो या एल्स के अंदर इ हो तो यही इसका सिंटेक्स है अलेक्स और कोई सिंटेक्स नहीं है एक बात जो आपको याद रखनी है क्या रीडेबिलिटी यानी अगर बहुत डीप नेस्टिंग हो जाती है तो उससे क्या होती है कोर्ड क्लेरिटी आपकी रिड्यूस होती है एक बात आपको य याद यहां याद रखनी है कि कोई दो ही लेवल पर आपको स्टॉप नहीं कर रहा है आप इस इफ के अंदर एक और इफ लिख सकते हैं उस इफ के अंदर एक और इफ लिख सकते हैं उस इफ के अंदर एक और इफ लिख सकते हैं बेसिकली कोड इफ के अंदर इफ के अंदर इफ आप इंफाइटिंग हैं बट आपको बनाना नहीं चाहिए क्यों क्योंकि कोड पढ़ने वाले को कोड समझने वाले को एक पॉइंट के बाद काफी दिक्कत होगी समझ में ही नहीं आएगा एक बार आपका कोड पढ़ने के बाद कि कहां से बेसिकली डिसीजंस किस टाइप से लिए जा रहे हैं तो बोल रहा है नेस्ट डफ आप इस्तेमाल करिए जहां भी आपको इस्तेमाल करना हो बट साथ-साथ ये बात भी आपको ध्यान रखनी है कि जो कोड है वो ओवर कॉम्प्लिकेट आपका ना हो जाए ठीक है तो वापस आते हैं यहां पर जो इफ की फैमिली है वो मोस्टली खत्म हो जाती है एक टरनरी ऑपरेटर बचा हुआ है उसको भी हम बाद में देखेंगे नेस्टेड इफ के बाद हम क्या देखेंगे हम पहले देखेंगे लॉजिकल ऑपरेटर्स लॉजिकल ऑपरेटर का क्या मतलब है देखिए हमने रिलेशनल ऑपरेटर तो पढ़ लिया यानी अगर मेरे पास दो नंबर हैं दो चीजें हैं उनको मुझे कंपेयर करना है उनका आपस का रिलेशन देखना है तो तो मैंने देख लिया कि उससे मैं ट्रू और फाल्स कैसे जनरेट कर सकता हू अगर आपको रिलेशनल ऑपरेटर अपने माइंड में सोचना है तो क्या सोचिए नंबर्स को जो ट्रू फॉल्स में कन्वर्ट कर दे यानी वैल्यूज को जो ट्रू फॉल्स में कन्वर्ट कर दे वो रिलेशनल ऑपरेटर है लॉजिकल ऑपरेटर क्या है लॉजिकल ऑपरेटर वो है जो दो कंडीशंस यानी ऑलरेडी जो ट्रू फॉल्स निकले हुए हैं वन और जीरो निकले हुए हैं उनको जो कंबाइन करता है वो मेरा लॉजिकल ऑपरेटर है कौन-कौन से लॉजिकल ऑपरेटर हैं हमारे हमारे तीन तरह के लॉजिकल ऑपरेटर होते हैं एंड और और नॉट इनको एक बार देखते हैं देखिए एंड का क्या मतलब है देखिए यहां बेसिक हमने एग्जांपल लिया है मान लीजिए आप सब्जी खा ते हैं रोटी खाते हैं क्या आप सिर्फ रोटी खाते हैं नहीं सिर्फ सब्जी कभी कई बार सिर्फ सब्जी आप खा लेते हैं बट एंड का क्या मतलब है ये दोनों चीजें साथ में चलेंगे यानी दोनों कंडीशन ट्रू हो मान लीजिए आपको कोई ऐसा कोड लिखना है कि दोनों कंडीशन ट्रू हो तो ही अंदर जाना वरना मत जाना वापस जाएंगे हम दोबारा सोचते हैं देखिए हमको क्या चेक करना था हमको आईडियली ये चेक करना था कि आप इंडियन सिटीजन हैं एंड आपकी एज 18 और 70 के बीच में है तो क्या होगा तो आप बेसिकली लाइसेंस ले सकते हैं वरना आप लाइसेंस के लिए एलिजिबल नहीं है पर वहां मल्टीपल कंडीशंस को हमने कैसे डील किया हमने इफ एल्स लेडर बनाकर डील किया हमने नेस्टेड इफ बनाकर डील किया अगर आप एक ही इफ के अंदर दो कंडीशन लिख पाते और बोलते भाई यह भी ट्रू हो और यह भी ट्रू हो तभी अंदर जाना तो वो काम क्या करता है वो आपका काम करता है एंड ऑपरेटर एंड मतलब एंड कैसे लिखा जाता है दो एन पर्सन जब आप साथ में लगाते हैं दो एंड ऑपरेटर जब आप ये लगाते हैं इसको बोला जाता है एंड ऑपरेटर दूसरा क्या है और ऑपरेटर भाई या तो आप कूल्ड ड्रिंक पिएंगे या आप चाय पिएंगे एक साथ कभी देखा है किसी को कोल्ड ड्रिंक में भी सिप मार रहा हो चाय में भी सिप मार रहा हो नहीं ना यानी इन दोनों में से एक चलता है तो दोनों में से अगर एक भी हो तो भी क्या होगा और आ जाएगा बेसिकली और का मतलब होता है दोनों में से अगर एक भी कंडीशन ट्रू हो तो मेरा इफ चल जाए इफ हमेशा इमेजिन करते रहिए मैं इफ की बात कर रहा हूं इफ के अंदर हम देख रहे हैं तो अगर दोनों आप ये कहीं ऐसा चाहते हैं कि दोनों की दोनों ट्रू हो तभी अंदर जाएं तो आएगा एंड आप ये चाहते हैं दोनों में से अगर एक भी ट्रू हो तो अंदर घुस जाना यानी अगर बच्चे ने बदतमीजी करी हो या बच्चे ने सिगरेट पी हो दोनों ही केसेस में उसको थप्पड़ लगना चाहिए तो क्या आएगा और आएगा यानी दोनों में से अगर एक भी ट्रू है तो क्या आएगा और आ जाएगा और नॉट का क्या मतलब है यहां हमने पहले ही देखिए तुलसी आपको यहां दिखा दिया है क्या नॉट का क्या मतलब है नॉट का मतलब है जो भी कंडीशन है उसका उल्टा यानी अगर आपको तंबाकू दिख रहा है तो उसको पलट कर आप कर दीजिए किताब पर पलट कर कर दीजिए कोई भी अच्छी चीज यानी नॉट का मतलब है अगर कहीं पर ट्रू है तो वो फॉल्स हो जाएगा कहीं पर फॉल्स है तो वो ट्रू हो जाएगा नॉट का क्या फायदा है कई बार कंडीशंस लिखना थोड़ा सा मुश्किल होता है आप क्या करते हैं आप उल्टी कंडीशन लिखकर नॉट चेक भी करते हैं तो इन तीनों को भी हम चलाकर देखेंगे इस्तेमाल किस-किस तरह से किया जाता है एंड ऑपरेटर लगाया जाता है डबल एंड पर्सन से और ऑपरेटर लगा लगाया जाता है ये दो पाइप लगा कर के और नॉट ऑपरेटर लगाया जाता है सिंगल एक्सक्लेमेशन मार्क से या बैंग मार्क से इसको दोनों में से आप जो भी बोलना चाहे तो देखिए एंड का क्या मतलब है ऑल कंडीशंस मस्ट बी ट्रू फॉर द रिजल्ट टू बी ट्रू और का क्या मतलब है ओनली वन कंडीशन मस्ट बी ट्रू दोनों में से अगर एक भी कंडीशन ट्रू है तो काम हो जाएगा नॉट का क्या मतलब है नॉट बेसिकली इनवर्ट्स द कंडीशन आप जो भी कर रहे हैं प्रायोरिटी आपको याद रखनी है इसकी एरिथ मेे और कंपैरिजन ऑपरेटर से लेस प्रायोरिटी यानी जब हम एक्सप्रेशंस लिख रहे हैं तो सबसे पहले क्या चलेगा जो हम वो प्रेसीडेंट की बात कर रहे हैं हमने प्लस माइनस मल्टीप्लाई डिवाइड की तो आपस में देख ली थी बट अगर बहुत बड़ा एक्सप्रेशन लिखा हुआ है वहां पर रिलेशनल ऑपरेटर भी यूज्ड है वहां पर मैथमेटिक्स के एरिथ मेे िक ऑपरेटर भी यूज्ड हैं वहां हमारे लॉजिकल ऑपरेटर भी यूज्ड हैं तो क्या चलेगा सबसे पहले एरिथ मेे चलता है उसके बाद रिलेशनल चलता है उसके बाद आपका लॉजिकल चलता है तो लॉजिकल की जो प्रायोरिटी है वो सबसे कम है एरिथ मेे और कंपैरिजन से भी कम है यानी पहले वो चल जाते हैं कंपैरिजन मतलब रिलेशनल ऑपरेटर तो एरिथ मेे िक और कंपैरिजन चल जाते हैं उसके बाद ही हमारा ये वाला चलता है तो चलिए इसको चलाकर देखते हैं वापस आते हैं यहां पर इसकी फिर से एक कॉपी बनाते हैं किसकी नेस्टेड इफ की और इसका नाम हम रख देते हैं लॉजिकल बस लॉजिकल ही रख देते हैं लॉजिकल डॉट सी ठीक है अब इसको चलाकर देखते हैं एक बार लॉजिकल का क्या मतलब है किस तरह से करेंगे देखिए हमको कंबाइन करना था अब मान लीजिए हम ये बोल रहे हैं कि यार आपको स्पेसिफिक मैसेजेस देने की जरूरत नहीं है आप बस बताइए कि आप एलिजिबल हैं या आप एलिजिबल नहीं है है ना तो मैं कंडीशन रिराइज किस हिसाब से कर सकता हूं देखिए इसको मैं नीचे छोड़ देता हूं दोबारा से मैं कंडीशन लिखना शुरू करता हूं मेरे को पहले पहली कंडीशन क्या चाहिए मेरे को कंडीशन चाहिए कि आपकी जो एज है वो 18 से तो ज्यादा होनी चाहिए 18 या 18 से ज्यादा पर 70 से कम होनी चाहिए यानी दोनों एज कंडीशंस को मैं कंबाइन करना चाहता हूं तो मैं कैसे कर सकता हूं मैं बोलूंगा कि भाई एज जो है वो या तो ग्रेटर दन इक्वल टू हो 18 के है ना एंड एंड या तो नहीं एंड एंड यानी 18 से आपकी ए ज्यादा भी होनी चाहिए और साथ-साथ आपकी एज 70 से कम भी होनी चाहिए एंड एंड का क्या मतलब हो गया दोनों यानी मैं बोल रहा हूं आपकी एज 18 से ज्यादा भी हो और आपकी एज 70 से कम भी हो तभी आप एलिजिबल हैं अदर वाइज आप एलिजिबल नहीं है तो मैं आप क्या बोल सकता हूं यू आर एलिजिबल फॉर लाइसेंस है ना अदर वाइज यहां हम बोल देते हैं एल्स प्रिंट प्रिंट एफ देखिए हमने इसको कॉपी किया है तो क्या हुआ इंडेंटेशन इसको बोलते हैं इंडेंटेशन जो आप स्पेस छोड़ते हैं इंडेंटेशन ऊपर वाले की कॉपी हो गई एक इफ के बाद सिर्फ एक ही टैब आपको छोड़ना है या दो ही स्पेसेस छोड़ना है तो उसको वापस हम ले आते हैं इसको अब हम बोलेंगे यू आर नॉट एलिजिबल ठीक है तो हमने क्या किया देखिए दोनों कंडीशन को एक में ही हमने करके ख दिया अब देखिए हम चाहते हैं फिलहाल ये ना चले ये सिर्फ पढ़ने के लिए है तो हम क्या कर सकते हैं इसको कर सकते हैं कॉमेंट तो देखिए पूरे को मैंने किस तरह से किया एक बार में इतनी सारी लाइन को कैसे कमेंट किया आप ये पूरा सेलेक्ट करिए कंट्रोल और य बेसिकली जो फ्रंट स्लैश होता है इसको इसको आप दबाइए जो इक्वल टू वाला नं साइन है शिफ्ट के बगल वाला आप इसको दबाए तो क्या होगा सारा एक बार में कॉमेंट हो जाएगा दोबारा लगाएंगे तो अनकमेंट हो जाएगा जो लोग मैक पर हैं वो कमांड के साथ स्लैश दबाए तो एक साथ कमेंट एक साथ अनकमेंट कॉमेंट अनकमेंट ठीक है तो पूरे को मैंने कर दिया है कॉमेंट दूसरा तरीका क्या था इसको कमेंट करने का देखिए जब बहुत सारी लाइनें मुझे कमेंट करनी थी मैं अपने आप हाथ से भी कैसे कर सकते हैं आप आप लगाइए एक स्लैश स्टार और दोबारा नीचे यहां कर क्या लगा दीजिए हां खत्म करना है स्टार स्लैश तो क्या होगा ये अब आपके सिर्फ पढ़ने के लिए हो गया है पर बेसिकली एलिजिबल नहीं है चल नहीं रहा है ठीक है देखिए हमने यहां लगा दिया है क्या एज का कंडीशन लगा दिया है एंड एंड के साथ कि भाई आपकी एज 18 से ज्यादा होनी चाहिए 70 से कम होनी चाहिए तो ही ये चलेगा अदर वाइज नहीं चलेगा एक बार इसको चलाकर देख लेते हैं कैसे चलाएंगे सबसे पहले करेंगे कंपाइल जीसीसी इस बार नाम है हमारा लॉजिकल ड स माइनस आउट लॉजिकल डॉट आउट ठीक है अब इसको चलाते हैं लॉजिकल डॉट ये बोल रहा है सबसे पहले अपनी एज डाली मैंने डाली 32 आप इंडियन सिटीजन है या नहीं देखिए इसका भी हमने चेक लगाया नहीं है मैं कुछ भी यहां पर वैल्यू डाल देता हूं वा कह रहा है यू आर एलिजिबल फॉर अ लाइसेंस क्यों 32 इसने चेक किया होगा 32 पर आएगा 32 18 से ज्यादा है है 70 से कम है है तो आ गया यू आर एलिजिबल दोबारा एक बार इसको चलाकर देखते हैं क्लियर करने के बाद इस बार मैं ऐसी कंडीशन डालता हूं जो एक ट्रू हो दूसरी ट्रू ना हो यानी मैं डालता हूं अपनी एज मान लीजिए 75 देखिए इसने क्या बोला जब 75 आया इसने पहले ये चेक किया होगा यानी एज 18 से ज्यादा है क्या 75 यस 18 से ज्यादा ये वाली कंडीशन ट्रू है बोला एंड एंड ये भी चेक कर लेते हैं एज बेसिकली 75 क्या क्या 70 से कम है नहीं है तो ये आया ट्रू ये आया फॉल्स एंड एंड क्या करेगा ट्रू और फाल्स होगा तो उसको बना देगा फॉल्स ये कंबाइन क्या कर रहा है अगर दोनों ट्रू होंगे तो ही ये ट्रू बनेगा अगर एक ट्रू होगा या दोनों फॉल्स होंगे सारे बाकी कंडीशंस में क्या होगा ये फॉल्स आ जाएगा तो उसने क्या बोल दिया यू आर नॉट एलिजिबल यानी आप एलिजिबल नहीं है ठीक बात है ये हमको समझ आ गई एंड एंड किस तरह से कंबाइन कर रहा है एक चीज और हमको चेक करनी थी ए तो आपकी होनी चाहिए आप इंडियन सिटीजन भी होने चाहिए तो यहां क्या कर देते हैं यहां चेक कर लेते हैं अगर हमको चेक करना है इज इंडियन इक्वल टू इक्वल टू y एंड एंड यह एज तो पहले से था ही अब देखिए मैंने क्या चेक कर लिया आप इंडियन सिटीजन भी आपका होना जरूरी है एज भी आपकी होनी जरूरी है 18 एंड 70 से कम भी होनी चाहिए तभी आप चल पाएंगे अदर वाइज आप नहीं चल पाएंगे दोबारा इसको करते हैं कंपाइल फिर से इसको करते हैं रन इस बार देखिए एज मैं डालता हूं करेक्ट 32 बट मैं इंडियन सिटीजनशिप डाल देता हूं नो मैंने जैसे ही नो डाला यह बोल रहा है यू आर नॉट एलिजिबल क्योंकि क्या हुआ यही कंडीशन फॉल्स हो गई अगर एक कंडीशन भी फॉल्स हो गई और आपने एंड एंड लगाया हुआ है तो उसके बाद वह नहीं जाएगा बट देखिए यहां हमको दूसरी बात क्या समझ आ रही है पहले रिलेशनल ऑपरेटर एग्जीक्यूट होता है उसके बाद ही कॉमिनेशन चलेगा यानी उसके बाद ही एंड एंड चलेगा पहले इसने यह एग्जीक्यूट किया पहले इसने y और एज के बीच में एंड एंड नहीं चला दिया y और इज़ इंडियन के बीच में इक्वल टू इक्वल टू चलाया क्योंकि उसकी प्रेसीडेंट ज़्यादा है पहले चलाया यही फॉल्स हो गया फॉल्स के बाद एंड एंड है तो क्या करेगा बाकी पूरे को फॉल्स कर देगा क्योंकि उसको बता है अगर एक भी फाल्स है अब दूसरा ट्रू हो या फाल्स हो कोई फर्क नहीं पड़ता तो क्या है सभी कुछ फॉल्स है इसने सीधा क्या कर दिया यू आर नॉट एलिजिबल क्योंकि ये फॉल्स हुआ तो एल्स वाला ब्लॉक मेरा चल गया यू आर नॉट एलिजिबल है ना आप यहां पर और भी लगा सकते हैं अगर मान लीजिए मैं लगा दूं यहां पर और है ना और जब भी आप इस तरह से मल्टीपल ऑपरेटर यूज़ कर रहे हो यानी और भी लगा रहे हैं एंड भी लगा रहे हैं यहां पर एक ब्रैकेट लगाते हैं फॉर क्लेरिटी है ना कि भाई पहले क्या चले बाद में क्या चले मैं बोल रहा हूं भाई या तो आप इंडियन सिटीजन हो अगर आप इंडियन सिटीजन अगर आप इंडियन सिटीजन है आप 2 साल के भी हैं आपको लाइसेंस मिलेगा अगर आप इंडियन सिटीजन नहीं है तो आपकी ऐज इतने से इतने होनी चाहिए तभी आपको लाइसेंस मिलेगा और का क्या मतलब है या तो ये या ये मैं बोल रहा हूं अगर आप इंडियन सिटीजन है तो आपकी ज कुछ भी है आपको लाइसेंस मिलेगा किसी और चीज का मान लीजिए सिटीजनशिप मान लीजिए अगर आप ऑलरेडी इंडियन सिटीजनशिप हैं आधार कार्ड मान लीजिए तो आपका आधार कार्ड मिलेगा अगर आप इंडियन सिटीजन नहीं है तो आपकी ज अगर 18 से 70 के बीच में है तो भी हम आपको आधार कार्ड दे सकते हैं एक बार इसको चलाकर देखते हैं किस तरह से चलेगा ये कंपाइल करते हैं रन करते हैं देखिए इसने पूछा सबसे पहले एज मान लीजिए मैंने एज बोल दी इसको 85 उसने बोला क्या आप इंडियन सिटीजन है मैंने कहा यस देखिए यस करती है बोल रहा है यू आर एलिजिबल फॉर अ लाइसेंस यानी इसने एज चेक ही नहीं किया इसने पहले चेक किया और है इसके इधर और इधर जाना है इज इंडियन ट्रू हो गया है और में क्या है अगर एक भी ट्रू हो गया तो दोनों सब कुछ ट्रू मान लिया जाएगा तो अगर एक भी ट्रू हो गया उधर वो गया ही नहीं और सीधे बोल दिया यू आर एलिजिबल अगर ये फॉल्स हो जाता तो वो जाकर एज चेक करता फिर से चलाकर देखते हैं मान लीजिए इस बार मैं एज बोल देता हूं मेरी फिर से क्या 85 पर मैं इंडियन सिटीजन बोल देता हूं नो इस बार इसने बोल दिया नॉट एलिजिबल क्यों पहले इसने चेक किया क्या इंडियन हो आप नहीं हो तो फिर एज चेक करते हैं अब एज चेक किया एज में फिर एंड आएगा एज में चेक किया एज में एंड वाला फॉल्स हो रहा है है ना एज आपकी कंडीशन ट्रू नहीं हो रही है तो इसने फिर से बोल दिया यू आर नॉट एलिजिबल ठीक है तो उम्मीद करता हूं ये भी आपको समझ आ गया लॉजिकल ऑपरेटर जो हमने यूज़ किए हैं किस तरह से आप एंड और नॉट का इस्तेमाल कर सकते हैं ठीक है वापस आ जाते हैं ये हो गए हमारे लॉजिकल ऑपरेटर्स लॉजिकल ऑपरेटर के बाद हम क्या पढ़ेंगे टरनरी ऑपरेटर ये क्या है इफ का लास्ट भाई मेरा बचा हुआ है ये इफ का लास्ट भाई क्या है टरनरी ऑपरेटर ये कहां यूज़ होता है बहुत ही स्पेसिफिक चीजें हैं जहां पर ये यूज किया जाता है इसका क्या मतलब है इफ का ही मान लीजिए है तो इफ ही बस इफ का बहुत ही ज्यादा शॉर्ट फॉर्म है इफ का बहुत ही ज्यादा कंडेंस्ड फॉर्म है क्या मतलब है इस बात का सिंटेक्स क्या होता है देखिए इफ में भी आप क्या लिखते थे कंडीशन लिखते थे उसके बाद इफ का ब्लॉक होता है और एल्स का ब्लॉक होता है पहली बात तो ये कब चलेगा ये सिर्फ तब चलेगा जब जो बेसिकली ब्लॉक्स है वो क्या हो एक्सप्रेशन टाइप की चीजें हो यानी एक मेरी कोई कंडीशन है क्वेश्चन मार्क का क्या मतलब है आप क्वेश्चन मार्क को इफ मान कर चलिए यानी ये कंडीशन है अगर ये कंडीशन ट्रू है तो ये एक्सप्रेशन यूज़ होगा अगर यह कंडीशन फाल्स है तो कलन के बाद वाला एक्सप्रेशन यूज़ होगा यानी ये आप किसी भी वेरिएबल में जनरली इसको असाइन करते हैं आप एक्सप्रेशन लिखते हैं एक्सप्रेशन अगर ट्रू है तो एक्सप्रेशन टू आएगा यानी अगर एक्सप्रेशन वन ट्रू है वन वाला किस टाइप का एक्सप्रेशन होना चाहिए कुछ रिलेशनल ऑपरेटर वाला या कोई ऐसी चीज होनी चाहिए जो वन या रो आ रही हो वन या ज़ीरो नहीं आ आएगी तो क्या माना जाएगा ट्रुथ ही फॉल्स यानी अगर ज़ीरो नहीं है तो ट्रू माना जाएगा रो या नल नहीं है तो ट्रू माना जाएगा अदर वाइज रो नल है तो फॉल्स माना जाएगा तो ये इस एक्सप्रेशन को ट्रू और फॉल्स के बेसिस पर या तो एक्सप्रेशन टू यूज किया जाएगा या एक्सप्रेशन थ्री यूज किया जाएगा ट्रू है तो एक्सप्रेशन टू यूज होगा अगर फाल्स है तो एक्सप्रेशन थ्री यूज होगा इन दोनों में से एक ही एक्सप्रेशन आपका यूज होगा ठीक है और जो फाइनल बेसिकली जो भी चीज है वो कहां डाल दी जाएगी इस वेरिएबल के अंदर आपकी डाल दी जाएगी ठीक है तो क सिंटेक्स क्या आ गया कंडीशन एक्सप्रेशन एक्सप्रेशन कंडीशन क्या है बुलियन एक्सप्रेशन होना चाहिए जो इवेलुएट होता हो ट्रू या फाल्स में ट्रू या फाल्स मतलब वन या जीरो में और बोथ एक्सप्रेशंस मस्ट रिटर्न कटेबल टाइप्स क्योंकि देखिए हमको इसको एक वेरिएबल में असाइन करना है तो ऐसा नहीं होना चाहिए कि ये एक इंटी जर है और ये एक डबल है अनलेस आपका जो वेरिएबल है वो डबल हो है ना या ये कोई स्ट्रिंग है ये कोई कैरेक्टर है तो दोनों एक्सप्रेशन कंपैटिबल टाइप्स होने चाहिए यानी ऐसा होना चाहिए जिनको एक ही वेरिएबल में असाइन किया जा सके यूज केस क्या है सूटेबल फॉर सिंपल कंडीशनल असाइनमेंट्स यानी किसी बेसिक कंडीशन के बेस पर जब आपको कोई असाइनमेंट करना हो तो क्या होगा उस वही केस है इसका जनरली जो यूज केस में समझा जाता है रीडेबिलिटी बहुत सिंपल कंडीशंस के लिए ट्रू है पर ज्यादा कॉम्प्लेक्शन आपको इसमें नहीं लिखनी चाहिए चलिए पहले इसको एक बार चलाकर देखते देखते हैं एक एग्जांपल लेकर के है ना अब ये वाला जो पूरा एग्जांपल है इसको छोड़ देते हैं एक नया एग्जांपल हम यहां पर बनाते हैं तो एक नई फाइल बनाएंगे फोर के अंदर इसका नाम रखेंगे हम टरनरी क्या एग्जांपल लेना चाहिए मान लीजिए टरनरी का हम एक एग्जांपल ले लेते हैं सबसे पहले लिखते हैं हैश इंक्लूड एडीओ ए है ना लिखते हैं इंट मेन रिटर्न रो मान लीजिए मेरे पास जो अ प्रोग्राम था वो ये था कि आप यूजर से एंटर कराइए कि क्या आप मेल है या फीमेल हैं वा एंडन और उसके बाद यही प्रिंट करिए पूरा कि वो मेल है या वो फीमेल है है ना मान लीजिए इस टाइप का काम हमको करना है तो कैसे करेंगे सबसे पहले तो हमको y या ए जो है यूजर से इनपुट कराना है है ना तो सबसे पहले हम एक अपना वेरिएबल डिक्लेयर कर लेते हैं क्या इज मेल है ना मान लीजिए हमने चेक करा लिया इज मेल या इसका नाम हम रख देते हैं जेंडर जेंडर इज अ बेटर नेम क्योंकि हम उसमें मेल या फीमेल वहां से एंटर करा लेंगे अब हम क्या लिखते हैं हम लिखते हैं प्रिंट एफ और यूजर को बोलते हैं प्लीज एंटर योर जेंडर है ना आप अपना जेंडर एंटर करिए और किस हिसाब से आप एंटर करेंगे या तो मेल डालिए या फीमेल डालिए देखिए और भी जेंडर्स हो सकते हैं फिलहाल हम इन दो को कंसीडर कर रहे हैं मेल या फीमेल है ना य हमने बोल दिया कि भाई आप अपना जेंडर जो है यहां पर एंटर करिए उसके बाद हम क्या करेंगे इसको स्कैन कर लेंगे है ना स्कैन एफ वैसे तो यहां पर पहले कोई एंटर कैरेक्टर होने की पॉसिबिलिटी नहीं है बट फिर भी जब भी आप कैरेक्टर वगैरह इनपुट करा रहे हैं तो सिंपलीसिटी के लिए आप क्या करिए यहां पर जस्ट टू बी सेफ आप फिलहाल यहां पर स्पेस दे दीजिए हो सकता है बाद में आकर कोई ऊपर कुछ एंटर कर दे ऊपर कोड चेंज करके कुछ एंटर करा ले आपको हमेशा सेफ रहना है कि भाई एंटर जो है वो मुझे नहीं मिलना चाहिए मैं लगाऊंगा इन पर्सन और लग दूंगा जेंडर है ना यानी जेंडर मैंने उससे इनपुट करा लिया मेरे को क्या करना है देखिए बेस्ड ऑन कि ये जो वैल्यू आई है ये m है या एफ है मुझे प्रिंट करना है यू आर अ मेल और फीमेल तो मैं क्या कर सकता हूं डायरेक्ट यहां पर टर्न देखिए इल्स लगाकर तो हम इसको कर ही सकते हैं हमको अभी कैसे करना है टर्न ऑपरेटर लगाकर करना है तो मैं देखिए सबसे पहले क्या लिखूंगा सबसे पहले लिखूंगा कंडीशन तो मैं चेक कर सकता हूं मान लीजिए जेंडर अगर इक्वल टू इक्वल टू है मेल के है ना उसके बाद क्या लगाएंगे क्वेश्चन मार्क क्वेश्चन मार्क के क्या बाद आप लिख सकते हैं पहला एक्सप्रेशन एक्सप्रेशन क्या होगा मान लीजिए लिख देता हूं सीधे प्रिंट क्या प्रिंट मैं कर रहा हूं मैं यहां प्रिंट कर देता हूं मेल है ना और उसके बाद लगाते हैं कोलन कोलन के बाद आता है अगला एक्सप्रेशन प्रिंट एफ यहां मैं लिख देता हूं फीमेल यह मेरा बन गया है अभी इसको मैं काफी सारे चेंजेज आपको करके इसमें दिखाऊंगा पहले एक बार इसको चलाकर हम देख लेते हैं कैसे सबसे पहले इसको करेंगे कंपाइल जीसीसी नरी सी आउट नाम हम लिख देते हैं इसका नरी डॉट आउट डॉट स्टनरी चलाते हैं बोल रहा है अपना बेसिकली जेंडर एंटर करिए मैंने मान लीजिए m एंटर किया तो देखिए क्या प्रिंट हो गया मेल प्रिंट हो गया अगर मैं यहां f एंटर करता तो क्या प्रिंट हो जाता फीमेल प्रिंट हो जाता वैसे हमने जैसे कंडीशन लिखी है किसी को पता नहीं बट मैं कुछ भी लिख दूंगा p भी लिख दूंगा तो भी क्या आएगा फीमेल ही आएगा क्योंकि हमने चेक सिर्फ ये किया है कि आप m है तो प्रिंट ये हो जाना चाहिए तो ये शॉर्ट फॉर्म हो गया इफ का बट देखिए एक बात हमने बोला था यहां एक्सप्रेशंस होने चाहिए देखिए प्रिंट एफ भी कुछ रिटर्न करता है प्रिंट एफ भी इंटी जर रिटर्न करता है हमने क्या किया है बस हमने ये जहां हमको वेरिएबल में असाइन करना चाहिए था उस पूरे के पूरे को हमने कर दिया है इग्नोर और क्योंकि हमने उसको इग्नोर कर दिया है तो क्या हो गया यहां पर बेसिकली ये एक तरह से ये एक एक्सप्रेशन ही है जो एक इंटी जर रिटर्न करता है बस उस इंटी जर को हमने कहीं पर भी असाइन नहीं किया है खो दिया है इस इसलिए क्या हुआ टरनरी ऑपरेटर यहां पर यूज़ हो गया है जहां हमने क्या किया जेंडर इनपुट कराया ए या एफ हमने देखा जेंडर और जेंडर के बेसिस पर या तो ये मैंने प्रिंट करा दिया या ये मैंने प्रिंट करा दिया जब हम आगे चलके अरेज या और बहुत सारी चीजें देखेंगे स्ट्रिंग्स देखेंगे तो हम देखेंगे कैसे डिफरेंट डिफरेंट वैल्यूज भी हम यहां पर मान लीजिए किसी मेल या फीमेल की जो वैल्यू है इसको एक स्ट्रिंग में असाइन कर सकते थे कैरेक्टर एरे में असाइन कर सकते थे और उसके बाद उसको यूज़ भी कर सकते थे है ना अभी के लिए क्योंकि हमने वो सब एडवांस कांसेप्ट नहीं पढ़े हैं आपको ये समझ आना चाहिए टरनरी इ जस्ट अ सिंपलीफिकेशन ऑफ इफ इफ का छोटा भाईया छोटा रूप है पर इसके यूज केस बहुत ही लिमिटेड हैं बहुत ज्यादा इसको इस्तेमाल नहीं किया जाता है क्योंकि अगेन इसको पढ़ना थोड़ा सा मुश्किल हो जाता है अगेन दूसरा ये सिर्फ तभी यूज़ हो सकता है जब सिंगल लाइन आपके स्टेटमेंट्स हो एक-एक लाइन का आपका ॉ एल्स हो कभी बाद में आपको एक लाइन भी ऐड करनी पड़ती है तो वो फिर बेसिकली टर्नर ऑपरेटर में पॉसिबल नहीं हो पाता है है ना और क्या याद रखना है क्वेश्चन मार्क और कोलन से बेसिकली ये डिवाइड होता है क्वेश्चन मार्क से पहले आएगी कंडीशन क् क् मार्क और कोलन के बीच में ट्रू वाला अ एक्सप्रेशन और कोलन के बाद फाल्स वाला एक्सप्रेशन ठीक है तो ये दोस्तों हो गया हमारा टरनरी ऑपरेटर अब यहां हो जाती है इफ फैमिली टोटली कंप्लीट एक बार वापस जाकर देखिए जल्दी से देख लेते हैं क्या-क्या देख लिया हमने जब यहां कंडीशन स्टेटमेंट्स हम देख रहे थे इफ एल्स में हमने क्या-क्या देखा था ये बेसिकली मेरी टरनरी ऑपरेटर हो गया इफ हमने देखा इफ एल्स हमने देखा इफ एल्स इफ हमने देख लिया और नेस्टेड इफ भी हमने देख लिया था और अब हमने देख लिया टरनरी ऑपरेटर भी तो ये जो पूरे ट्री का लेफ्ट वाला इतना बड़ा साइज था वो हमने कवर कर लिया है अब हम आ जाते आते हैं अपने स्विच की तरफ जो कि हमारा होने वाला है ऑलमोस्ट लास्ट टॉपिक ऑलमोस्ट लास्ट क्यों बोल रहा हूं ये अभी मैं बताऊंगा इसके बाद एक चीज हम छोटी सी और पढ़ने वाले हैं बट पहले हम पढ़ेंगे स्विच ठीक है देखिए स्विच भी थोड़ी इंपॉर्टेंट चीज है थोड़ा सा इसको समझने में आपको ध्यान देना है किस तरह से पढ़ना है बट एक तरह से आपको समझ आएगा कि इफ एल्स लैडर जो हम बना रहे थे बहुत सारे इफ एल्स कंडीशन जो बना रहे थे उसी को एक डिफरेंट तरीका है करने का तो स्विच क्या बोलता है स्विच बोलता है आप पहले कोई कंडीशन चेक कर लीजिए है ना कोई एक कंडीशनल स्टेटमेंट आपने लिख लिया स्विच के अंदर और उसके बाद अलग-अलग केस अलग-अलग केसेस आप उसी के बना लीजिए यानी ये जनरली कैसे यूज किया जाता है किसी एक वैल्यू के बेस पर यूज किया जाता है जैसे मान लीजिए मेरे को अगर किसी ने एक प्रोग्राम दिया प्रोग्राम का एग्जांपल ले लेते हैं जैसे कि मान लीजिए डे एंटर करा लिया लीजिए आप यूजर से यानी आप वन टू सेन डे एंटर कराइए आज फर्स्ट डे है सेकंड डे है थर्ड डे है फोर्थ डे है फिफ्थ डे है है ना सेवंथ तक आप ऐसा कुछ भी एंटर करा लीजिए उसके बाद आप प्रिंट करिए मंडे है ट्यूसडे है वेडनेसडे वन है तो मंडे टू है तो ट्यूजडे थ्री है तो वेडनेसडे इस टाइप से आप प्रिंट कराइए तो यहां क्या होता है आप ऊपर लिख दीजिए कंडीशन यानी जो मेरा डे है जिसकी वैल्यू कंपेयर करनी है आप ऊपर लिख देंगे और केसेस में आप लिखते हैं डिफरेंट डिफरेंट वैल्यूज यानी उस स्पेसिफिक वेरिएबल की ये वैल्यू हो तो ये कर दीजिएगा ये वैल्यू हो तो ये कर दीजिएगा यहां पर ग्रेटर दन इक्वल टू लेस दन इक्वल टू के टाइप चेक्स नहीं लगा सकते आप याद रखिएगा स्विच में सिर्फ इक्वलिटी के चेक्स होते हैं यानी स्विच में जो भी आपने वैल्यू ऊपर दिया है वेरिएबल आपने ऊपर दिया है उसके केसेस होते हैं यानी ये बेसिकली मल्टीपल वैल्यूज के लिए आप अलग-अलग काम जो है स्विच के अंदर कर सकते हैं इसमें भी हम क्या करेंगे पहले करेंगे इसको इंप्लीमेंट और वापस आकर इसको पढ़ेंगे बेसिकली जो हमारे नोट्स हैं इनको हम पढ़ेंगे तो वापस चलते हैं अपने कोड की तरफ यहां आते हैं टरनरी को भी हम कर देते हैं बंद और यहां एक नई फाइल बनाते हैं जिसका नाम हम रख देते हैं मान लीजिए स्विच ड स ठीक है एग्जांपल क्या इंप्लीमेंट करेंगे ये इंप्लीमेंट करेंगे जिसकी मैंने अभी आपसे बात की क्या इंप्लीमेंट करेंगे हम देखेंगे सबसे पहले यूजर से डे एंटर करा लेंगे बिटवीन वन टू से और उसके बाद बेसिकली मंडे से लेकर संडे तक जीरो को वन को आप मंडे मान लीजिए संडे मान लीजिए कुछ भी वन को मंडे मान लेते हैं वन से लेकर सेवन तक सेवन हो जाएगा संडे वो डे आपको प्रिंट करना है ये हमारा कोड है तो चलिए जल्दी से लिखना शुरू करते हैं इंक्लूड मैं क्या लिखूंगा एसटी डी आईओ ड एच उसके बाद लिखेंगे इंट मेन और सबसे पहले रिटर्न जीरो लिख करके एसिट कर लेंगे ठीक है अब आ जाते हैं सबसे पहले देखि हमको क्या करना है एक डे एंटर कराना है तो एक इंजर डिक्लेयर कर लेते हैं डे नाम का है ना उसके बाद क्या करेंगे यूजर को बोलेंगे भाई आप डे एंटर करिए तो बोलते हैं प्लीज एंटर डे नंबर बिटवीन 1 टू 7 है ना ये हमने उनसे एंटर करा लिया एंटर कैसे करेंगे स्कैन f के साथ स्कैन f परसेंटाइल डी हमको एंटर कराना है एक इंटी जर हमको एंटर कराना है और n पर्सन डे माफ कीजिएगा यह हो गया डे तो डे मैंने इनपुट करा लिया अब मुझे करना है कंडीशन चेक देखिए काम में ये इफ इफ एल्स का काम और स्विच का काम हमेशा दोनों से किया जा सकता है बस आपको यह देखना है कि कहां पर क्या ज्यादा फिट बैठ रहा है अब यहां पर इक्वलिटी चेक करनी है मुझे वन हो तो ये टू हो तो ये थ्री हो तो ये फोर हो तो ये ग्रेटर दन इक्वल टू वाले चेक नहीं है कि दो से कम हो तो ये करना पांच से ज्यादा हो तो ये करना अगर थोड़ी सी भी कॉम्प्लेक्शन है तो उसके लिए आप इफल्स यूज़ करेंगे स्विच का स्पेसिफिक काम वो है जब एक वैल्यू की डिफरेंट डिफरेंट एक वेरिएबल के डिफरेंट डिफरेंट वैल्यूज पर आपको कुछ करना हो तो मैं यहां क्या लिख देता हूं लिखता हूं स्विच देखिए स्विच में क्या हुआ जैसे ही मैंने स्विच लिखकर एंटर दबाया इसने अपने आप इतना सारा कोड जनरेट कर दिया भाई जनरेट हमारे लिए मत कीजिए अभी हम सीख रहे हैं हमको खुद से लिखना है स्विच क्या होगा इफ की तरह देखिए स्विच भी एक कीवर्ड है जैसे ही मैंने लिखा क्या हुआ पिंक कलर का हो गया उसके बाद यह है मेरी कंडीशन इफ में भी हम कंडीशन कहां लिखते थे दोनों गोल ब्रैकेट्स के अंदर यहां पर कंडीशन की जगह आप वो वैल्यू लिख देंगे तो हमको वैल्यू किसकी कंपेयर करनी है डे की वैल्यू कंपेयर करनी है और स्विच का स्टार्टिंग और एंड कैसे होगा ये दो करली ब्रैकेट लगाकर आप स्टार्टिंग और एंड कर देंगे अब डे की वैल्यू क्या-क्या होनी चाहिए तो अब आप यहां लिख सकते हैं केस तो मैं लिख सकता हूं केस के बाद आप लिखेंगे वैल्यू केस क्या हो सकता है यानी अगर वैल्यू वन है तो क्या करना तो हमको करना है प्रिंट मान लीजिए मैं प्रिंट कर देता हूं टुडे इज मंडे अगर वन आया है तो मंडे होगा फिर लिखेंगे केस टू यही लिखते जाएंगे क्या टुडे इज एक काम करता हूं मैं पहले टुडे इस के साथ इसको कर लेता हूं कॉपी बिना केस के और इसको हम कर देते हैं पेस्ट अब हम यहां वैल्यू भर लेते हैं यानी अगर टू हो तो क्या करना थ्री हो तो क्या करना फोर हो तो क्या करना फाइव हो तो क्या करना सिक्स हो तो क्या करना सेवन हो तो क्या करना टू है तो मंडे की जगह क्या आएगा ट्यूसडे वेनसडे ठीक है यह मैंने कर लिया है सारे के सारे डेज मेरे हो गए हैं बेसिकली हो जाएगा और बाद में एंड के लिए प्रिंट कर देते हैं क्या डे कैलकुलेशन कंप्लीट ये बस मैं इसलिए कर रहा हूं ताकि हमको क्लियर दिखता रहे कि कब बेसिकली मेरा स्विच केस जो है वो एंड हो गया देखिए सेमीकलन हम लगाना भूल गए थे ये हमने लगा दिया है देखिए अभी इस स्विच में बहुत सारी प्रॉब्लम्स है जो हम एक-एक करके रिजॉल्व करेंगे पहले मैं आपको बेसिक सिंटेक्स समझाने की कोशिश कर रहा हूं क्या होगा स्विच आएगा स्विच के बाद वैल्यू आएगी और उसके बाद केस देखिए केस भी क्या है यह भी एक कीवर्ड है केस स्पेस उसके बाद आएगी फिर आएगा कोलन और कलन के बाद आएगा आपका वोह कोड जो आप चलाना चाहते हैं और फिर आएगा सेमीकलन ठीक है अब एक बार पहले इसको चलाकर देखते हैं और देखते हैं इस वाले कोड में एक्चुअली प्रॉब्लम है क्या है ना मैं करूंगा जीसीसी स्विड सी - स्ड आउट ये हमने चला लिया अब एक बार स्विच डॉट आउट को चलाकर देख लेते हैं इसने बोला एट डे वाला एंटर करिए मान लीजिए मैं सेन एंटर करता हूं सेन के लिए क्या प्रिंट हो गया टुडे इज संडे एंड डे कैलकुलेशन कंप्लीट ये तो एकदम बेसिकली एकदम बढ़िया चल रहा है सर आपने कहा था कोई प्रॉब्लम है कोड के अंदर एक बार दोबारा चला कर देखते हैं स्विच डॉट आउट इस बार मैं प्रिंट कर डे बोलता हूं वन कि यार जरा वन के लिए कैलकुलेट करें देखिए क्या प्रिंट हो गया टुडे इज मंडे टुडे इज ट्यूजडे टुडे इज वेडनेसडे टुडे इज थर्सडे टुडे इज फ्राइडे टुडे सैटरडे टुडे संडे सारे के सारे प्रिंट हो गए हैं क्यों क्योंकि देखिए स्विच का एक और इंपॉर्टेंट कीवर्ड है जिसका नाम होता है ब्रेक यानी हर केस कहां पर खत्म हो गया है इसके लिए आपको ब्रेक इस्तेमाल करना चाहिए इसलिए जनरली क्या होता है केस को आप सेम लाइन से भी स्टार्ट नहीं करते हैं केस का जो है वो आप जनरली इस तरह से लिखते हैं केस यहां पर स्टार्ट हुआ उस केस के अंदर जो आप लिख रहे हैं वो फिर से एक बेसिकली इंडेंटेशन लगाकर लिखिए और जहां पर आपके केस का काम खत्म हो गया है वहां पर आप एक ब्रेक लगाइए ब्रेक का क्या मतलब है कि मेरे केस का काम खत्म हो गया है उसके बाद आप बाहर निकल जाइएगा आप ये कंडीशन ये बेसिकली एक फ्ललर बोल लीजिए जो स्विच है वो हमेशा इसी तरह से लिखा जाता है कैसे कि आप हर केस जहां पर भी आपके केस का काम खत्म हो रहा है वहां पर आप क्या करेंगे एक-एक ब्रेक को ऐड करते जाएंगे तो हर केस के बाद में रे को क्या लगाना पड़ेगा एक ब्रेक लगाना पड़ेगा वरना उस केस के बाद के जितने सारे स्टेटमेंट्स हैं सबको वो उठा लेगा अगर देखिए हमने कहीं पर भी ब्रेक नहीं लगाया था तो वन वन तो मैच हुआ वन प्रिंट हुआ बट उसके बाद वो सारे के सारे स्विच में जितने भी स्टेटमेंट्स लिखे हुए हैं जब तक उसको ब्रेक नहीं मिलेगा सबको प्रिंट करता जाएगा उसने यहां इसलिए उसने यहां पर सारे के सारों को प्रिंट कर दिया था तो हमने क्या किया यहां पर सब में ब्रेक लगा लिया है एंड आईडियली हमको क्या करना चाहिए इन सबको भी नेक्स्ट लाइन में मूव कर देना चाहिए ठीक है अब देखिए क्या होगा केस वन ये प्रिंट करिए ब्रेक अच्छा मल्टीपल स्टेटमेंट्स भी हो सकते हैं एक लाइन होना जरूरी नहीं है केस में आप कितना भी काम कर सकते हैं टुडे इज मंडे देन टुडे इज ट्यूसडे वेडनेसडे थर्सडे फ्राइडे सैटरडे संडे है ना अब थोड़ा बेटर यह कोड मेरा हो गया है एक आ चीज अभी हम इसमें और ऐड करेंगे एक बार फिर से पहले इसको कर लेते हैं हम कंपाइल फिर से हम करते हैं इसको रन अब कह रहा है डे एंटर करिए वन एंटर किया देखिए इस बार सही आया टुडे इज मंडे एंड देन योर डे कैलकुलेशन इज कंप्लीट फिर से रन करते हैं फोर अगर मैंने दबाया तो टुडे इज थर्सडे डे कैलकुलेशन कंप्लीट तो आपको समझ आ रहा है एफएस में क्या होता था एक-एक कंडीशन चेक होती थी यहां पर क्या हो रहा है मेरी वैल्यू है और उसके बाद वो सीधे क्या करेगा उसकी वैल्यू को कंपेयर करेगा कौन सी वाली वैल्यू है और सीधे जाएगा उसी वैल्यू पर फोर दबाया मान लीजिए हमने फोर लिखा तो सीधे जाएगा केस फोर पर टुडे इज थर्सडे लिखेगा उसके बाद ढूंढेगा ब्रेक जहां पहला ब्रेक मिल जाएगा ब्रेक के बाद हो जाएगा एग्जिट एक और इंप्रूवमेंट इस कोड के अंदर अभी क्या हो सकता है वो ये है कि मान लीजिए मैंने चलाया पर मैंने डाल दिया नाइन तो कुछ भी इसने प्रिंट नहीं किया सीधे आ गया डे कैलकुलेशन कंप्लीट पर क्योंकि सारे के सारे केसेस कोई भी केस नहीं हुआ हमने साथ तक ही केस लिखे थे तो पूरा का पूरा स्विच जो है वो एग्जिट हो गया जैसे आप इफ में एल्स लगा सकते हैं स्विच में आप लगा सकते हैं डिफॉल्ट यह एक और कीवर्ड आया देखिए एक स्विच पढ़ने में हमने कितने सारे कीवर्ड देख लिए स्विच देख लिया केस देख लिया ब्रेक देख लिया डिफॉल्ट देख लिया डिफॉल्ट का मतलब क्या है डिफॉल्ट इ एल्स यानी अगर कोई भी केस एग्जीक्यूट नहीं हुआ हो तो यह कर देना तो हम यहां पर क्या प्रिंट कर देते हैं मान लीजिए यहां पर हम प्रिंट कर देते हैं डे एंटर्ड इज इनकरेक्ट इसको भी हम क्या कर देंगे देखिए वैसे लास्ट में ब्रेक लगाने की जरूरत नहीं है क्योंकि उसके बाद कुछ बचा तो है नहीं आप एग्जिट कर देंगे बट दिस इज जस्ट अ गुड प्रैक्टिस कि जब आपका क्योंकि काम खत्म हो गया आप यहां पर भी एक ब्रेक लगा देंगे एक बार इसको फिर से कंपाइल करके देखते हैं फिर से करते हैं रन इस बार फिर से अगर मैं नाइन डालूंगा तो देखिए क्या प्रिंट कर दिया इसने डे एंटर्ड इज इनकरेक्ट अगर मैं नाइन की जगह क्या डाल दूं 54 543 डाल दूं तो भी क्या आएगा डे एंटर्ड इज इनकरेक्ट क्योंकि मैं तो बस ये बोल रहा हूं कि अगर मेरे सारे के सारे कोई सा भी केस ना चले तो यह हमेशा चलना चाहिए दिस इज माय एल्स तो क्योंकि वैल्यू साथ में से कुछ भी नहीं चली तो सीधे मेरा एल्स यहां पर चल गया तो उम्मीद कर रहा हूं स्विच आपको समझ आया यहां हमको वैल्यू देनी है उसके बाद अलग-अलग केस मैच होंगे जो केस मैच होगा उसका कोड चलेगा जब तक चलेगा जब तक पहला ब्रेक नहीं मिलता ब्रेक मिलेगा पूरे स्विच के बाहर आ जाएगा और नेक्स्ट स्टेटमेंट प्रिंट हो जाएगा एक बार इसकी जो थ्योरी है जो हमारे नोट्स हैं उनको समझ लेते हैं कोई पॉइंट हमने मिस नहीं किया हो क्या है स्विच केस मल्टीवे ब्रांचिंग यानी स्विच प्रोवाइड्स अ क्लीनर मेथड फॉर मल्टीवे ब्रांचिंग यानी काफी क्लीन है इफ एल्स में बहुत सारे एफ एल्स आपको लगाने पड़ते यहां पर एक-एक कंडीशन बार-बार आप कंडीशन चेक कर रहे होते डे इक्वल टू = 1 डे इक्वल ू = 2 डे इक्वल टू = ू 3 है ना तो बहुत सारा आपको लगाना पड़ता है ये थोड़ा सा क्लीन होता है थोड़ा सा छोटा होता है देन बेसिकली मल्टीपल फफल स्टेटमेंट लगाने से अच्छा है एंड टेस्टिंग भी इसकी क्या होती है एक ही क्योंकि एक्सप्रेशन है तो बार-बार चेंज नहीं करना पड़ता ऊपर का एक ही एक्सप्रेशन है जिसको आप कंपेयर कर रहे हैं क्या हो सकता है यहां पे इंटी जर और कैरेक्टर एक्सप्रेशन हो सकते हैं स्विच एक्सप्रेशन मस्ट रिजल्ट इन एन इंटी जर और कैरेक्टर वैल्यू यही दो होने चाहिए स्ट्रिंग वगैरह आप इससे कंपेयर नहीं कर सकते हैं न्यूमेरिक जो चीजें हैं वही यहां पर कंपेयर हो सकती हैं केस लेबल क्या होते हैं रिप्रेजेंट इंडिविजुअल ब्रांचेस हर क्या केस क्या है एक-एक ब्रांच है एक-एक डिसीजन है जो यहां पर लिया जा सकता है ब्रेक स्टेटमेंट यहां पर बहुत इंपॉर्टेंट है टिपिकली यूज टू एग्जिट द स्विच ब्लॉक और जब कभी आप मान लीजिए आप इंटेंशनली ऐसा कोड लिख रहे हैं कि दो कंडीशन में मुझे सेम ही काम करना है है ना दो केसेस ऐसे हैं जिनका जिनके अंदर काम सेम ही है तो आप बिना ब्रेक के दोनों केस साथ में लिख दीजिए और उसके बाद वो काम कर दीजिए बट उस केस में जनरली उसको बोला जाता है कि ये फॉल थ्रू है और वहां पर कमेंट लगाकर फॉल थ्रू लिख देना चाहिए कि भई ये मैं फॉल थ्रू कर रहा हूं है ना डिफॉल्ट केस हमने समझ लिया है ये ऑप्शनल है देना वो तो हमने देख ही लिया पहले हमने नहीं दिया था फिर हमने दिया दिस इज़ लाइक एल्स डिफॉल्ट केस का मतलब है कुछ भी नहीं चलेगा तो ये चलेगा एंड फॉर सर्टेन काइंड ऑफ़ कंडीशनल लॉजिक स्विच कैन मेक द कोड मोर रीडेबल तो स्विच जो है वो कोड को थोड़ा ज्यादा रीडेबल बनाता है जब भी इक्वलिटी वाला कंपैरिजन है ये बात याद रखिएगा इक्वलिटी छोड़कर और बेसिकली इंटी जर कैरेक्टर छोड़कर किसी केस में स्विच को यूज़ किया ही नहीं जा सकता तो स्विच ऑलरेडी बहुत कम केसेस में यूज़ किया जा सकता है बट जहां यूज़ किया जा सकता है वहां काफी क्लीन होता है काफी एफिशिएंट भी होता है एफएल से काफी ज्यादा बेटर होता है क्योंकि यहां पर डायरेक्ट उस केस पर वो जाता है एक-एक करके कंडीशन को चेक कर करके नहीं आता जिससे टाइम भी आपका बचता है है ना तो यहां क्या है यहां देखिए यही जो एग्जांपल हमने अभी इंप्लीमेंट किया था यही एग्जांपल यहां पर दिया हुआ है आपके नोट्स में भी अगर आपको बाद में कभी चेक करना हो इंपॉर्टेंट बात अब हम क्या देख रहे हैं कि मैं डिसाइड कैसे करूंगा कि कहां स्विच यूज़ करूं और कहां इफ यूज़ करूं है ना तो बेसिकली आपको दे देखना है कंपैरिजन स्विच सिर्फ इक्वलिटी टेस्ट करता है जो हम बार-बार बोल रहे हैं इफ एल्स काफी कॉम्प्लेक्शन कर सकता है फ्लोट एक्सप्रेशंस भी नहीं चल सकते यानी सिर्फ इंटी जर और कैरेक्टर ही चल सकता है फ्लोट एक्सप्रेशंस आल्सो कैन नॉट बी यूज्ड इन स्विच याद रखिएगा मल्टीपल केसेस कैन नॉट यूज़ द सेम एक्सप्रेशन अगर मल्टीपल केसेस हैं तो वो सेम एक्सप्रेशन भी यूज़ नहीं कर सकते हैं स्विच इज क्लीनर ये बात हमको समझ आ गई कि क्या है स्विच थोड़ा साफ लगता है देखने में साफ सुथरा लगता है जबकि इफ एल्स क्या है ज्यादा वर्सेटाइल यानी इफ एल्स अपने आप को चीजों के हिसाब से हर कंडीशन में आप अलग-अलग कंडीशन लगा सकते हैं स्विच फास्टर हो सकता है अभी हमने बात की क्यों क्योंकि स्विच को देखिए क्या करना है स्विच को सिर्फ एक ही एक्सप्रेशन है उसकी वैल्यू पर सीधे जंप करना है इफ एल्स को क्या करना है पहले इसको इस कंडीशन को चेक करेगा वरना फिर एल्स इफ में जाएगा फिर इस कंडीशन को चेक करेगा फिर इस कंडीशन को चेक करेगा हो सकता है ये वाली कंडीशन ट्रू होनी हो बट ये एक-एक एकए एक एक एक एक करके छह के छह कंडीशंस को चेक करेगा जबकि स्विच क्या करता है सिर्फ एक एक्सप्रेशन को इवेलुएट करता है सीधे जाकर उस केस पर जंप करता है बट अगेन फॉर प्रैक्टिकल पर्पसस ये सब चीजें आपको कोड लिखते हुए सोचनी नहीं होती आजकल कंप्यूटर इतने फास्ट हैं कि अगर आपने एक माइक्रो सेकंड बचा भी लिया तो क्या ही आपने बचा लिया कोई फर्क उससे नहीं पड़ता आपको ये देखना चाहिए कि क्या ज्यादा रीडेबल कोड है क्या ज्यादा अच्छा कोड है मेंटेन करना किसको आसान है फॉल थ्रू हमने देख लिया स्विच जो है वो फॉल थ्रू अलाउ करता है जबकि इफल्स सिर्फ एक बार में एक ही कंडीशन को चेक करेगा मल्टीपल जो केसेस हैं एक बार में एग्जीक्यूट नहीं किए जा सकते एलसीएफ में क्या होता है सिंगल ब्रांच एग्जीक्यूट होती है अगर एक ब्रांच एग्जीक्यूट हो गई तो काम खत्म पैसा हजम उसके बाद सीधे जाएगा बाहर स्विच में अगर जहां उस जब तक उसको ब्रेक नहीं मिलेगा तब तक वो एग्जीक्यूट करता रहेगा हालांकि मेरा पर्सनल मानना ये है मोस्ट ऑफ़ द प्रोग्रामिंग कम्युनिटी का मानना है कि एक फीचर नहीं है ये बग है तो स्विच में आप हमेशा हर चीज में ब्रेक लगाइए ऐसे बहुत ही कम कंडीशंस होते हैं जहां आपको फॉल थ्रू कराना होता है फॉल थ्रू मतलब जहां आपको मल्टीपल केसेस में सेम वैल्यू लगानी होती है वहां भी आप कॉमेंट कमेंट लगाकर लिखेंगे यानी आप इक्वलिटी एक्चुअली चेक कर ही नहीं रहे हैं जब आप मल्टीपल कंडीशंस वहां कर रहे हैं तो इक्वलिटी चेक नहीं हो रही है उस केसेस में भी मोस्टली आपको एफएलसी यूज़ करना चाहिए ठीक है तो ये हुआ हमारा स्विच और इफ एल्स का कंपैरिजन कब स्विच यूज़ करेंगे कब फफ एल्स यूज़ करेंगे अब दोस्तों हम आ जाते हैं अपने लास्ट टॉपिक पर काफी लंबा है चैप्टर हो गया है बहुत सारी चीजें हमने देख ली हैं आगे चलके काफी सारी एक्सरसाइजस हम करने वाले हैं ताकि ये सब कुछ हमारा बहुत पक्का हो जाए बहुत जल्दी में हवा में भागे ना बहुत सारे हम इसका कोड करेंगे एक लास्ट चीज देख लेते हैं गो टू स्टेटमेंट देखिए गो टू पहली बात तो क्या है ये मोस्टली सी में ही होता है और प्रोग्रामिंग लैंग्वेजेस में होता नहीं है और सी में भी इसका जो यूसेज है वो हाईली डिस्क किया जाता है कि गो टू को आपको यूज़ नहीं करना चाहिए हम फिर भी क्यों पढ़ रहे हैं क्योंकि सी का एक ये फीचर है एग्जाम में पूछा जा सकता है इंटरव्यू में पूछा जा सकता है इंटरव्यू के कोड में यूज्ड हो सकता है इन जनरल अपना कोड लिखते हुए गोटू से बचना है गो टू को यूज नहीं करना है बट एक बार अभी समझते हैं गो टू क्या है देखिए गो टू भी सबसे पहली बात तो एक कंट्रोल स्टेटमेंट ही है यानी अभी तक हम क्या देख रहे हैं हम ये पूरा कंट्रोल स्टेटमेंट्स ही पढ़ रहे हैं कि किस तरह से फ्लो को मैं अपने ऑल्टर करूंगा पहले प्रोग्राम चल रहा था स्टेप बाय स्टेप एक-एक स्टेप एक-एक स्टेप एक-एक स्टेटमेंट अब हम क्या कर रहे हैं कभी इफ लगा रहे हैं एल्स लगा रहे हैं स्विच लगा रहे हैं यानी कभी कोई स्टेटमेंट चलेंगे कोई स्टेटमेंट्स नहीं चलेंगे वो हमारे पास एबिलिटी आ गई है गो टू भी बेसिकली उसी फैमिली का आदमी है गोटू क्या बोलता है गोटू में दो चीजें इंपॉर्टेंट होती हैं एक होती है लेबल और एक होता है एक्चुअल गो टू स्टेटमेंट तो क्या है अनकंडीशनल जंप इफ क्या करता था इफ करता था बेसिकली कंडीशन के साथ जंप गो टू क्या करता है गो टू करता है अनकंडीशनल जंप यानी गो टू क्या बोल रहा है गो टू डायरेक्ट्स द फ्लो टू अ स्पेसिफिक लेबल यानी आप कहीं पर भी पहले कोड में एक लेबल डिक्लेयर करेंगे और उसके बाद आप जहां भी लिखेंगे गो टू लेबल वो क्या करेगा उसी लेबल पर जंप कर देगा यहां एक्चुअली क्या लिखा होना चाहिए गो टू लेबल वन तो ये एक्चुअल कोड है यानी आप जहां पर भी लिख देंगे गो टू लेबल वन वो उसी लेबल पर जंप कर देगा वो ल पहले भी हो सकता है लेबल कोड में बाद में भी हो सकता है डायरेक्ट किसी भी जगह जगह पर कोड में अगर आपको जंप करना है तो आप उसके लिए गो टू यूज़ कर सकते हैं तो ये बेसिकली लेबल कैसे डिफाइन होता है कोई भी आप नाम कोई भी एक आइडेंटिफिकेशन आप कैसे भी लिखिए मान लीजिए मैंने लिख दिया माइ लेबल कॉलन तो ये हो जाएगा मेरा लेबल और उसके बाद क्या होगा आप सेम को आप यूज़ करेंगे गोटू के साथ गोटू क्या है गोटू भी एक कीवर्ड है गोटू और लेबल लिखेंगे तो वहां पहुंच जाएंगे अभी नोट्स को दोबारा वापस आकर देखते हैं पहले जल्दी से एक बार इसको चलाकर देख लेते हैं तो मैं यहां आता हूं वापस एक नई फाइल क्रिएट करता हूं जिसका नाम हम रख देंगे गटू स स्विच को कर देते हैं बंद इसको भी कर देते हैं बंद है ना तो एक पहले कोड लिख लेते हैं इंक्लूड एडीओ ए इंट मेन रिटर्न रो रिटर्न रो तो मेरा हो गया अब मैं कोड कैसा लिखूंगा मान लीजिए मैं ऐसा कोड लिख रहा हूं कि जब जब तक यूजर फाइव एंटर ना करे है ना तब तक मैं क्या करूं तब तक मैं यूजर से बार-बार जो इनपुट है वो लेता रहूं तो मान लीजिए मैंने एक लिख लिया इंट नंबर मैंने एक डिक्लेयर कर लिया उसके पहले मैं बोलता हूं प्रिंट एफ यूजर से नंबर लेना है प्लीज एंटर द नंबर मैंने बोला भाई आप नंबर जो है वो एंटर कर दीजिए मैं स्कैन कर लूंगा उसको स्कैन एफ कैसे करूंगा परसेंटाइल डी लगाऊंगा एंड पसन नंबर ठीक है अब मैंने क्या बोला मैंने बोला चेक कर लेता हूं इफ नंबर जब तक 10 नहीं है यानी जब तक आप 10 एंटर नहीं करोगे मैं बार-बार आपको बोलूंगा नंबर एंटर करते रहिए मैं बार-बार कैसे बोलूंगा मैं मान लीजिए चाहता हूं मैं वापस चला जाऊं यहां पर तो मैं क्या कर सकता हूं यहां पर एक डिक्लेयर कर देता हूं क्या इनपुट नंबर कलन अच्छा यहां हाइन हम नहीं लगा सकते लगा देते हैं अंडरस्कोर तो मैंने लिख दिया इनपुट नंबर कलन तो ये मेरा क्या बन गया ये मेरा बन गया लेबल फॉर गो टू है ना बस मैंने क्या कमेंट लगाकर लिख दिया है ताकि क्लियर रहे कि कलन लगा के लिख दिया लेबल फॉर गो टू अगर नंबर 10 नहीं है तो मुझे क्या करना है वापस जाना है तो नॉट इक्वल टू चेक कर लेते हैं अगर नंबर 10 नहीं है तो क्या लगाएं गो टू इनपुट नंबर बस देखिए मैंने क्या किया है मैंने बोला जब भी नंबर 10 नहीं है तो गो टू इनपुट नंबर कर दीजिए तो क्या होगा फ्लो वापस चला जाएगा अभी तक हम सिर्फ क्या कर पा रहे थे सेलेक्ट कर पा रहे थे क्या चलना है क्या नहीं चलना बट प्रोग्राम का फ्लो हमेशा ऊपर से नीचे की तरफ था अब हम वो चेंज कर पा रहे हैं क्या मैं सीधे बोल रहा हूं भाई जब भी ये नंबर नहीं होगा तो गो टू आप यहां चले जाइएगा एक बार इसको चलाकर देख लेते हैं क्या करना है मुझे सबसे पहले करना है कंपाइल तो मैं बोलूंगा जीसीसी गो टू डॉ स माइ o गो टू डॉट आउट है ना अब हम क्या करेंगे यहां इसको चलाकर देखेंगे कैसे डॉट स्ल गो टू डॉट आउट बोला नंबर एंटर करिए मैंने करया थ्री फिर से बोल रहा है नंबर एंटर करिए क्यों न इक्वल टू 10 है हां नॉट इक्वल टू है गो टू यहां चला गया फिर से यही प्रिंट हो गया फिर से यहां आ गया यानी वहां जाएगा फिर एक-एक करके एग्जीक्यूट करना स्टार्ट कर देगा मैंने बोला भाई मेरा नंबर तो 11 है कह रहा नहीं नंबर एंटर करिए मैंने बोला नहीं मेरा नंबर तो 15 है कह रहा नहीं नंबर एंटर करिए मैंने कहा 10 है क रहा अच्छा चलो फिर ठीक है है ना तो ये क्या है एक तरह से ये लूपिंग हो गया जो हम नेक्स्ट चैप्टर में पढ़ने वाले हैं लूपिंग कर तरह का स्टेटमेंट हो गया पर और ये मैंने इफ के अंदर लिखा है जरूरी नहीं आप इफ के अंदर लिखें ये बेसिकली कहीं पर भी आप लिख सकते हैं इसका नाम ही क्या था नाम ही था अनकंडीशनल जंप यानी आप इसको कंडीशन के अंदर लिखना चाहे तो लिख सकते हैं पर गो टू इज अ अनकंडीशनल जंप यानी बिना कंडीशन के सीधे आपको कहीं पर भी जंप करना है आप वहां जंप कर सकते हैं इसका यूज़ फिर डिस्क्र जड क्यों है चल तो ठीक रहा है डिस्क्र इसलिए है क्योंकि ये प्रोग्राम को समझना बड़ा मुश्किल हो जाता है जब आप रैंडम प्रोग्राम में कहीं से भी कहीं पर भी जंप कर जाएं और आप बेसिकली बिना किसी कंडीशन के तो प्रोग्राम को समझना बाद में डीबगर डीबगर अगर प्रोग्राम में गलतियां हो जाएं आपका कोड कहीं अटक जाए तो उसको सॉल्व करना बड़ा मुश्किल हो जाता है और यहां पर आप देख रहे हैं इनफाइनों कंडीशन अगर आपने ठीक से नहीं लिखी आपका कोड कभी खत्म ही नहीं होगा हमेशा यही चलता रहेगा घूमता रहेगा है ना तो गो टू का बेसिकली यूजर जो है जनरली डिस्कस किया जाता है क्यों किस वजह से बिकॉज़ द कोड बिकम हार्ड टू फॉलो पढ़ने वाले के लिए बड़ा मुश्किल हो जाता है समझना कि किस तरह से आपने गोटू का इस्तेमाल किया है ये यूज़फुल फॉर एग्जिट नेस्टेड लूप्स ये जनरली उल्टा यूज़ किया जाता है कि आप कहीं लूप वूप में फंस गए हैं वहां से बाहर निकलने के लिए गोटू का कई बार इस्तेमाल किया जाता है या एरर हैंडलिंग के लिए इस्तेमाल किया जाता है मान लीजिए कुछ गड़बड़ हो गई आपने गड़बड़ को हैंडल करने के लिए कोड कहीं और लिखा हुआ है तो आप सीधे गो टू वो कोड कर सकते हैं कि वहां चले जाइए बट अगेन मैं ये सारे इमेजिनरी सिनेरियो एक्सप्लेन कर रहा हूं ये सब प्रोग्रामिंग कम्युनिटी में एक्सेप्ट करते हैं कि गो टू एक अच्छा कोड लिखने का तरीका नहीं है इसलिए फ्यूचर में जो लैंग्वेजेस आई हैं चाहे वो ल जावा हो पाइथन हो किसी भी तरह की लैंग्वेजेस हो वहां पर गो टू एजिस्ट नहीं करता है तो गोटू को आपको इस्तेमाल नहीं करना है आपको बस समझना है कि गोटू का क्या मतलब होता है ठीक है तो वो हमने समझ लिया है अ रिवीजन पर आ गए हैं देखिए कितना बड़ा चैप्टर था हमने कितनी सारी चीजें यहां पर कवर कर ली हैं पूरा डिसीजन कंट्रोल हमने एक बार में खत्म कर दिया है इंक्लूडिंग रिलेशनल ऑपरेटर्स लॉजिकल ऑपरेटर्स और टरनरी ऑपरेटर है ना हमने रिलेशनल ऑपरेटर में इफ के जितने भाई बहन थे यहां तक सबको कवर किया इंक्लूडिंग टरनरी ऑपरेटर स्विच भी हमने खत्म कर दिया है गो टू भी हमने खत्म कर दिया है है ना बहुत सारी एक्सरसाइज हम इसके बाद करेंगे ताकि ये जो चीज है वो एकदम पक्की हो जाए यहां अच्छे से प्रैक्टिस करके तब आगे बढ़ेगा और इसके बाद जो आने वाला है वो दूसरा सबसे इंपॉर्टेंट टॉपिक है ये मैं बोलूंगा सबसे इंपॉर्टेंट टॉपिक था दूसरा सबसे इंपॉर्टेंट टॉपिक है जो हम पढ़ेंगे लूप्स आगे चलके नेक्स्ट चैप्टर में तो चलिए जल्दी से चलते हैं उसकी तरफ अरे अरे कहां जा रहे हैं चैप्टर फोर अभी खत्म नहीं हुआ है चैप्टर फोर के अब आ गया है चैलेंज का टाइम देखिए चैलेंज 19 नंबर से शुरू होता है और कहां तक जाता है 30 तक जाता है यानी यहां पर कितने 12 चैलेंज हैं चैलेंज बढ़ते ही जा रहे हैं देखिए ये पहला अपने सिग्निफिकेंट इंपॉर्टेंट चैप्टर पढ़ा है आपने इफ एल्स बेसिकली स् जितनी चीजें यहां पर सब पढ़ ली हैं तो बहुत जरूरी है कि यहां से आप प्रैक्टिस करके ही आगे बढ़ें प्रोग्राम क्या-क्या है सिंपल है अगर आप बेसिकली यह छोड़ के सोच ये सोच कर छोड़ भी मत दीजिएगा कि ये तो बहुत सिंपल है मैं कर लूंगा भाई हाथ से करिए जितना हाथ से करेंगे जितना बार-बार आप इसको करेंगे मैथ्स की तरह ये जितनी बार सॉल्व करेंगे उतना ही आपका हाथ प्रोग्रामिंग पर सेट होता जाएगा तो क्रिएट अ प्रोग्राम दैट डिटरमाइंस कि आपको एक नंबर लेना है और बताना है कि नंबर पॉजिटिव है नेगेटिव है या जीरो है दूसरा क्या है प्रोग्राम लीजिए बताइए नंबर ऑड है या इवन है अगला क्या है तीन नंबर इनपुट कराइए और तीनों में से जो सबसे बड़ा नंबर है उसको आपको आउटपुट कराना है उससे अगला क्रिएट अ प्रोग्राम दैट डिटरमाइंस कि एक जो साल है वो लीप ईयर है या नहीं देखिए कंडीशन समझना यहां पर बहुत इंपॉर्टेंट है कंडीशन क्या है कंडीशन है कि ईयर जो है वो चार से डिविजिबल होना चाहिए बट 100 से डिविजिबल नहीं होना चाहिए अगर 100 से डिविजिबल है और तो 400 से भी डिविजिबल होगा तो चलेगा देखिए थोड़ा सा टफ है क्या अगर 400 से डिविजिबल है तो तो लीप यर है ही है उसके अलावा अगर 100 से डिविजिबल है तो वो लीप ियर नहीं है 400 से नहीं है बट 100 से है तो वो लीप यर नहीं है उसके अलावा अगर फोर से डिविजिबल है तो वो लीप यर है ठीक है तो ये कंडीशन थोड़ा सा समझिए इसको देखिए किस तरह से कंडीशंस आपको फॉर्म करनी है इसका प्रोग्राम आपको लिखना है अगला क्या है क्रिएट अ प्रोग्राम दैट कैलकुलेट्स ग्रेड्स बेस्ड ऑन मार्क्स यानी यूजर से आपको क्या लेने हैं मार्क्स लेने हैं और उसका ग्रेड आपको आउटपुट कराना है यह टेबल आपको यूज़ करना है ग्रेड्स के लिए अगला क्या है क्रिएट अ प्रोग्राम दैट कैटेगरी इजस अ पर्सन इनटू डिफरेंट एज ग्रुप्स यानी आपको उसका उनका एज लेना है और बताना है कि वो चाइल्ड है एडल्ट हैं टीन है या सीनियर है ठीक है तो ये सबका जो भी आप इफल्स लेडर वगैरह आपने पढ़ा है उसको आपको देखना है मुझे कहां क्या इस्तेमाल करना है सबको आप यूज़ करिए उसके बाद क्या है क्रिएट अ प्रोग्राम टू फाइंड द मिनिमम ऑफ टू नंबर्स टू नंबर्स का मिनिमम फाइंड करना है बट यहां आपको टरनरी ऑपरेटर का यूज़ कर करना है उसके बाद क्रिएट अ प्रोग्राम टू फाइंड इफ द गिवन नंबर इज इवन और ऑड यूजिंग टरनरी ऑपरेटर तो इवन ऑड आपने पहले भी किया है बट यहां आपको क्या बताना है यूजिंग टरनरी ऑपरेटर इसको करना है फिर क्या है प्रोग्राम टू कैलकुलेट द एब्सलूट वैल्यू ऑफ अ गिवन इंटी जर यूजिंग टरनरी ऑपरेटर एब्सलूट वैल्यू क्या होती है चाहे नेगेटिव हो चाहे पॉजिटिव हो एब्सलूट वैल्यू इज पॉजिटिव यानी फाइव की एब्सलूट वैल्यू क्या है फाइव है -10 की एब्सलूट वैल्यू क्या है 10 है तो आपको नंबर इनपुट कराना है यूजर से वो चाहे पॉजिटिव हो चाहे नेगेटिव हो आपको टरनरी ऑपरेटर यूज़ करके एब्सलूट वैल्यूज की प्रिंट करनी है ठीक ठीक है उसके बाद क्रिएट अ प्रोग्राम बेस्ड ऑन स्टूडेंट के स्कोर के बेस पर आप बताइए स्कोर हाई है मॉडरेट है या लो है और कंडीशंस आपको यहां पर दी हुई हैं हाई स्कोर की मॉडरेट स्कोर की और लो स्कोर की ठीक है फिर क्रिएट अ प्रोग्राम टू प्रिंट मंथ ऑफ द ईयर देखिए यहां स्विच के स्टार्ट हो गया है मंथ ऑफ द ईयर आपको बताना है इनपुट व टू 12 1 टू 12 लीजिए अगर मान लीजिए वन डालता है तो जनवरी आपको आउटपुट कराना है 12 डालता है तो दिसंबर आपको आउटपुट कराना है लास्ट है हमारा स्विच का प्रोग्राम सिंपल कैलकुलेटर यानी आपको क्या करना है आपको स्क्रीन पर ऐड सबट क्ट मल्टीप्लाई डिवीजन दिखाना है और बेस्ड ऑन दैट चाहे आप नंबर से लीजिए या उससे साइन इनपुट करा लीजिए बेस्ड ऑन दैट साइन आपको क्या करना है दो नंबर्स भी साथ में यूजर से लीजिए और इनमें से जो भी ऑपरेशन यूजर सेलेक्ट करता है वो ऑपरेशन आप दिखाइए देखिए बार-बार मैं बोलता हूं बिना ट्राई करिए आगे मत जाइएगा वरना क्या होगा आप पढ़ तो लेंगे पूरा उस कथा की तरह सुन लेंगे बट काम पूरा नहीं हो पाएगा प्रोग्रामिंग आप नहीं सीख पाएंगे तो इनको ट्राई करिए सॉल्यूशन वीडियो का लिंक हमारे डिस्क्रिप्शन में पढा हुआ है अगर आपको इनका सलूशन चाहिए पूरा वीडियो का लिंक उस सॉल्यूशन वीडियो के डिस्क्रिप्शन में आपको इसका गेटअप लिंक भी मिलेगा जहां सारे के सारे प्रोग्राम्स भी बने हुए होंगे सब कुछ एकदम फ्री है इसको ट्राई करिए ट्राई करके उसके बाद सॉल्यूशन देखिए फिर चलते हैं अगले चैप्टर की तरफ ऑलराइट तो दोस्तों अब हम स्टार्ट करेंगे अपना अगला चैप्टर इसका नाम क्या है आइट एंड लूप कंट्रोल स्ट्रक्चर है ना क्या है आइट मेशन एंड लूप कंट्रोल स्ट्रक्चर तो हमने बेसिकली एक तरह का कंट्रोल स्टेटमेंट पढ़ लिया था जो क्या था इफ एल्स टाइप की चीजें थी या स्विच टाइप की चीजें थी जो क्या कर रही हैं आप ज्यादा लिखते हैं और उसमें से क्या बेसिकली रन होगा टाइम पर वो एक डिसीजन के बेस पर सेलेक्ट हो जाता है आइट एंड लूप कंट्रोल में हम क्या पढ़ेंगे हम पढ़ेंगे बहुत सारा रिपीटिटिवली एग्जीक्यूट कराने के लिए मुझे हमेशा 15 लिखनी पड़ेंगी तो कैसे काम चलेगा कंप्यूटर तेज कैसे काम करेगा कितना ज्यादा जो काम है वो प्रोग्रामर्स को करना पड़ेगा तो आइट एंड लूप कंट्रोल आता है कि अगर आपको कोई रिपिटेटिव नेचर का काम है जो आपको कराना है तो वो आप किस तरह से करा सकते हैं है ना तो इसमें क्या देखेंगे हम देखेंगे सबसे पहले लूप्स की नीड क्या है इनकी क्या जरूरत है फिर वाइल लूप एक लूप होता है वो देखेंगे फॉर लूप देखेंगे ब्रेक स्टेटमेंट थोड़ा सा हम पहले देख कर आए थे और उसको डीप में देखेंगे कि ब्रेक स्टेटमेंट लूप्स में किस तरह से काम करता है कंटिन्यू देखेंगे एक स्पेसिफिक तरह का लूप समझा जाता है ऑड लूप वो देखेंगे डू वाई लूप देखेंगे और इफाइन लूप देखेंगे तो पूरे चैप्टर में बेसिकली लूपिंग को हम बहुत अच्छे से पढ़ेंगे बहुत सारी इनकी एक्सरसाइजस हैं बहुत सारे इनके क्वेश्चंस हैं जो हम सॉल्व करेंगे और लूप को बेसिकली पक्का करके चलेंगे जैसे मैं बोल रहा था आप एडवांस कांसेप्ट पे कितना भी पहुंच जाइए बेसिक कांसेप्ट में जो सबसे इंपॉर्टेंट चैप्टर था वो हमने इससे पहले पढ़ा और आई थिंक ये भी वन ऑफ द मोस्ट इंपोर्टेंट चैप्टर्स जो है वो होने वाला है तो इसके बाद हम अब स्टार्ट करते हैं जो हमारा इटरेशन एंड लूप कंट्रोल है है ना तो सबसे पहला पॉइंट क्या देखेंगे सबसे पहला पॉइंट देखेंगे नीड ऑफ लूप्स कि भाई ये जो लूप लूपिंग की सर आप बात कर रहे हैं इसकी जरूरत क्या है सबसे पहले यह बताइए कि जो लूप है इसकी नीड क्या है तो अगर सबसे पहले देखेंगे नीड ऑफ लूप क्या बोलते हैं कोड दैट रंस मल्टीपल टाइम्स बेस्ड ऑन कंडीशन यानी अभी तक हम देख रहे थे कि इफ द कोड विल रन और नॉट बेस्ड ऑन अ कंडीशन वो था इफ अब हम बोल रहे कोड दैट रंस मल्टीपल टाइम्स बेस्ड ऑन अ कंडीशन है ना यानी रिपीटेड एग्जीक्यूशन ऑफ कोड भाई एक ही कोड को सर बार-बार चला के पर फायदा क्या होगा या उसमें हम कुछ-कुछ चेंजेज करेंगे ऐसे चेंज कोड इस तरह से लिखेंगे कि वो हर बार थोड़ा-थोड़ा डिफरेंट पहले से चल रहा हो तो अगर हम इसका फ्लो चार्ट देखने की कोशिश करेंगे किस तरह से होता है पहले स्टार्ट होता है लूप यहां आएगा कंडीशन चेक होगी एक मेन लूप में जो अगर मेन चीज आपको देखनी है तो क्या होती है कंडीशन होती है अगर कंडीशन ट्रू है तो आप लूप के कोड में चले जाएंगे अगेन ये इफ की तरह चल रहा है कंडीशन ट्रू है तो आप लूप के कोड के अंदर चले जा जाएंगे उसके बाद आप जनरली कुछ अपडेट करते हैं ताकि अगली बार जो कंडीशन है वह कुछ ना कुछ चेंज होती रहे क्योंकि कभी ना कभी तो आपको कंडीशन ऐसी भी करनी है कि ब्रेक हो जाओ आप इस से है ना आप कुछ अपडेट करते हैं फिर कंडीशन चेक होती है कंडीशन ट्रू है तो फिर जो आपके लूप के अंदर कोड है वो चलेगा फिर बेसिकली अपडेट होगा फिर कंडीशन चेक होगी कंडीशन जब तक ट्रू रहेगी आप इस तरह से यहां गोल गोल गोल गोल गोल गोल घूमते रहेंगे और आपकी इस अपडेट करने की वजह से होप फुली आपने ऐसा लूप लिखा हो कि एक पॉइंट पर आपकी कंडीशन जो है वो फॉल्स हो जाए जैसे ही कंडीशन फॉल्स होगी हम लूप के बाहर निकल जाएंगे तो इसमें इंपॉर्टेंट चीजें क्या-क्या है देखिए बहुत सारी चीजें यहां पर इंपॉर्टेंट हमको देखनी है पहली बात तो जब आप लूप में एक बार घूमते हैं एक बार लूप में घूमने को क्या बोलते हैं आइट बोलते हैं यानी लूप के अंदर एक बार घूमना होता है आइट है ना तो कहीं पर अगर आपको पहले भी जैसे हमारे नाम में भी था आइट आइट का क्या मतलब है लूप का एक चक्कर लगाना लूप के कोड का एक चक्कर लगाना इज आइट लूप का बाय डिफॉल्ट क्या मतलब है लूप का ऐसा मतलब है अगर आप देखेंगे जैसे हमने बेसिकली यहां पर भी दिखाया है जैसे जहां रेसिंग होती है बेसिकली कार्स की उसको भी क्या बोला जाता है लूप बोला जाता है आप जहां मान लीजिए अगर स्टेडियम है वहां जाकर दौड़ते हैं वो जो होता है उसको भी लूप बोलते हैं लूप मतलब होता है क्लोज्ड अ जो बेसिकली आप सर्किल बना रहे हैं कोई भी शेप बना रहे हैं जो क्लोज्ड हो दोनों साइड से यानी एक तरफ से आप शुरू करते हैं उसके बाद उसके अंदर आप गोल गोल गोल गोल बार-बार घूम सकते हैं उसको बोला जाता है लूप है ना इसके अलावा अगर अभी हम बात करेंगे लूप्स में और इंपॉर्टेंट चीजें क्या-क्या है लूप की सबसे इंपोर्टेंट चीजें क्या है पहली बात तो ये कंडीशन जिसके बेसिस पर लूप चलेगा है ना लूप की बॉडी कि लूप की बॉडी क्या है और तीसरा अपडेट कि आप क्या कर रहे हैं है ना हर बार आप किस तरह से कंडीशन को अपडेट करते हैं ताकि ताकि लूप जो है वो एक पॉइंट पर खत्म हो जाए अब डेट का यहां पर क्या मतलब है मान लीजिए हमने मैं एग्जांपल ले लेता हूं हमने एक लूप को बोला कि भई एक काम करो जरा इस फाइल के अंदर जितना भी कंटेंट है उसको एक-एक एकएक करके पढ़ते रहो और खत्म कर दो पर यार आपका लूप कहां खत्म हो जाना चाहिए जब फाइल खत्म होगी तो खत्म हो जाना चाहिए तो वही आपको किस तरह से कंडीशन ऐसी बिल्ड करनी है कि वो कंडीशन फॉल्स कब हो जब फाइल खत्म हो गई हो या मैंने आपसे बोला भाई एक काम करो एक से लेकर 1000 तक की गिनती लिख दो तो एक तरीका तो ये आप लिखें प्रिंट वन प्रिंट टू प्रिंट थ्री प्रिंट फोर प्रिंट फाइव इस तरह से लिखते रहें दूसरा तरीका क्या है आप उसको लूप से करने की कोशिश करें पर लूप से आप क्या करेंगे आपको ये बोलना पड़ेगा कि भाई अगर 1000 तक गिनती हो गई है तो अब आप लूप से बाहर आ सकते हैं ताकि आपका प्रोग्राम ठीक से कंटिन्यू हो जाए अगर आपकी कंडीशन कभी फॉल्स नहीं होती है तो क्या होता है वो भी हम बाद में देखेंगे अभी के लिए इतना समझना काफी है तो और क्या बात हुई लूप्स ऑटोमेट रिपिटेटिव टास्क्स जो रिपीटेड टास्क है वो लूप से बंद हो जाते हैं टाइप ऑफ लूप क्या-क्या है फॉर लूप वाइल लूप होता है फॉर होता है अ वाइल ये शायद दोबारा लिख दिया गया है और डू वाइल होता है है ना इतने टाइप के लूप्स होते हैं और आइट मेशन क्या है नंबर ऑफ टाइम्स द लूप रंस कितने आइट होंगे जितनी बार यानी एक आइट हुआ एक बार लूप रन करना टोटल नंबर ऑफ आइट एशन अगर कोई पूछता है कितने हुए लूप के तो मतलब लूप कितनी बार रन हुआ वो होंगे टोटल नंबर ऑफ आइट पेशन ठीक है तो चलिए जल्दी चलते हैं अपने पहले लूप की तरफ और उसको एग्जीक्यूट करके देखते हैं तो पहला लूप दोस्तों हमारा कौन सा है पहला लूप है वाइ लूप सबसे बेसिक लूप है सबसे पहले इसी को लिखा गया था सबसे पहले इस लूप को समझते हैं एक बार अगर आपको एक लूप समझ आ गया बाकी सब कुछ सेम है लूप में कोई अलग-अलग डिफरेंस नहीं है बेसिक सिंटेक्स का थोड़ा बहुत डिफरेंस है वो आपको समझ आ जाएगा सबसे पहले जो मेन चीज हमको समझनी है वो वाइ लूप समझना है वाइल लूप समझ आ गया तो समझिए सब समझ आपको आ गया है वाइल लूप क्या है देखिए वाइल का सबसे पहले सिंटेक्स हम देखते हैं सिंटेक्स किस तरह से लिखा जाता है पहले आप लिखेंगे वाइल अगेन इफ के जैसा ही है देखने में बिल्कुल है ना तो आप लिखेंगे वाइल वाइल एक बेसिकली कीवर्ड है उसके बाद लगाएंगे दो गोल वाले ब्रैकेट्स बीच में लगाएंगे कंडीशन बिल्कुल इफ की तरह उसके बाद लगाएंगे दो कर्ली ब्रेसेज और दो कर्ली ब्रेसेज बेसिकली ओपनिंग एंड क्लोजिंग और बीच में होगी आपकी वाइल की बॉडी तो एक तरह से देखा जाए तो सिंटेक्स एकदम इफ वाला है ओनली डिफरेंस क्या है अगर यहां पर हम इफ लिखते तो कंडीशन ट्रू होती तो एक बार चलता और बाहर निकल जाता वाइल क्या करेगा बार-बार बार-बार चलता रहेगा कंडीशन आएगी बॉडी एग्जीक्यूट होगी फिर वापस कंडीशन पर आ जाएगा कंडीशन ट्रू होगी ट्रू होगी फिर बॉडी एग्जीक्यूट होगी फिर कंडीशन पर आएगा जब तक ये कंडीशन फॉल्स नहीं हो जाती तब तक क्या होगा ये लूप घूमता रहेगा और उसके बाद बाहर निकलेगा इफ और लूप में सिर्फ इतना सा ही डिफरेंस है अब देखिए जभी भी आप लूपिंग पढ़ेंगे तीन चीजें लूप में होती हैं जो सबसे ज्यादा इंपॉर्टेंट होती हैं कौन-कौन सी चीजें होती हैं पहले लिख लेते हैं सबसे पहला जो है व है इनिश इजेशन क्या है इनिश इइ सबसे पहली इंपॉर्टेंट चीज है इनिश इजेशन दूसरी चीज क्या है सबसे इंपॉर्टेंट कंडीशन और तीसरी इंपॉर्टेंट चीज क्या है अपडेशन मतलब तीन चीजें इंपॉर्टेंट क्या-क्या है सबसे पहले आप कुछ इनिश इज करते हैं दूसरा आपकी वो कंडीशन जिसके बेसिस पर लूप घूम रहा है और तीसरा आपका वो अपडेट करना ताकि किसी पॉइंट पर आपकी कंडीशन फॉल्स हो सके अगर आपकी कंडीशन फॉल्स नहीं हुई तो आप इनफाइकिल शुरू होगा सबसे पहले होगा इनिश इजेशन इनिश इजेशन का क्या मतलब है जो भी वेरिएबल आप कं कंपेयर ये वैसे ऑप्शनल है है ना इनिश इजेशन इज ऑप्शनल ऐसा हो सकता है कुछ स्पेसिफिक केसेस में जब इनिश इजेशन की जरूरत आपको ना पड़े बट इन जनरल इनिश इजेशन का क्या मतलब है आपको बेसिकली जो भी वेरिएबल आप कंडीशन के लिए चेक करने वाले हैं जो भी बेसिकली आपको लूप रन करने से पहले जो तैयारी करनी है वो होगा इनिश आइजन यानी कोई वेरिएबल डिक्लेयर करना वैल्यू इनिश इज करना चीजों को सेट करना वो होगा इनिश इजेशन फिर होगा कंडीशन एक कंडीशन जो आपकी बार-बार बार-बार चेक हो रही है वो सबसे इंपॉर्टेंट है और तीसरा है अपडेशन यानी आपको ऐस जो वेरिएबल जो भी वेरिएबल आपने कंडीशन में लगाए हैं उनको इस हिसाब से अपडेट करना कि आपकी कंडीशन एक पॉइंट पर फॉल्स हो जाए जब आपका काम पूरा हो गया है तब आपकी कंडीशन फॉल्स हो जाए और अप लूप से बाहर आ जाए तो इनिश जेशन इंपोर्टेंट है फिर कंडीशन होगी इनसाइड द लूप आपका अपडेशन होगा अपडेशन होगा इनसाइड द लूप बार-बार आप घूमते रहेंगे है ना और एग्जिट करके आप बाहर निकल जाएंगे एक चीज और जो यहां समझने वाली है वो ये है इनिश इजेशन एक बार रन होगा जैसे ही आप आए लूप पर इनिश इइ जेशन सिर्फ एक बार रन होता है उसके बाद आप आएंगे कंडीशन पर कंडीशन चेक होगी फिर आपका अपडेशन होगा कंडीशन चेक होगी अपडेशन होगा कंडीशन चेक होगी अपडेशन होगा इनिश जेशन बार-बार नहीं होता इनिश जशन सिर्फ एक बार होगा कंडीशन अपडेट कंडीशन अपडेट कंडीशन अपडेट बार-बार होता रहेगा और जब भी कंडीशन फॉल्स हो जाएगी तो फिर बिना अपडेट करे आप लूप के चले जाएंगे बाहर तो बाकी हम जो कांसेप्ट है वो पढ़ेंगे बाद में पहले चलते हैं इसको को एग्जीक्यूट करके देखते हैं समझ के देखते हैं कि हम किस तरह से कर सकते हैं है ना तो सबसे पहले आ जाते हैं हम अपने वापस कोडिंग स्टूडियो पर गो टू को हम कर देते हैं बंद बेसिकली चैप्टर फोर हमारा हो गया था डन एक नया फोल्डर बनाते हैं यहां फॉर चैप्टर फाइव और इसका नाम है हाइड्रेशन एंड लूप अभी इतना ही नाम लिख देते हैं इतना आई थिंक बहुत है है ना उसके बाद लगाते हैं पहली फाइल और पहली फाइल का नाम होगा वाड c हमको क्या पढ़ना है वाइल लूप पढ़ना है इसको करते हैं बंद सबसे पहले तो बेसिक जो अपना काम है वो तो भाई करके ही रख लो वो तो करना ही है है ना स्टर्ड आड ए इंट मेन एंड हमारा रिटर्न जीरो ठीक है अब पहले एक बेसिक प्रोग्राम पकड़ते हैं मान लीजिए मैं बोलता हूं आपको कि भाई एक से लेकर 10 तक की काउंटिंग जो है वो आप प्रिंट कर दीजिए एक से लेकर 10 तक नंबर आप प्रिंट कर दीजिए तो देखिए सबसे बेसिक तरीका क्या है मैं बोलूं प्रिंट f यहां लिख दूं मैं वन है ना फिर मैं क्या लगाऊं बै स् n लगाऊं कि भाई आगे जो भी आए वो नेक्स्ट लाइन में आए और इसको मैं कर दूं कॉपी पेस्ट है ना मैं यहां क्या करूंगा यहां कर दूंगा टू लो सर हो गया च पा 6 सा आ दो और करने है दो और कर देते हैं जहां आ की ऐसे 10 न और 10 हो गया चलाकर देख लेते हैं पहले जाते हैं फोल्डर नंबर फ के अंदर यहां वाइल डट सी हमारे पास है हम करेंगे जीसीसी वाल डट सी वा डट आउट डवा डट आट यह देखिए आपकी वन से लेकर 10 तक पूरी की पूरी काउंटिंग यहां पर प्रिंट हो गई है और बताइए सर क्या करना है लूप पढ़ने की जरूरत ही नहीं पड़ी अच्छा जरा 100 तक काउंटिंग प्रिंट करिए अच्छा 100 तक कर लेंगे 10 मिनट में हज तक करिए 1 लाख तक करिए 1 करोड़ तक करिए कैसे करेंगे दिक्कत हो जाएगी है ना यानी हमारा काम मेन यहां क्या था रिपीटिटिवली से चलाना था तो हम कैसे चलाएंगे उसको अब आ जाते हैं नीचे और देखते हैं उसको लूप से कैसे करेंगे देखिए अब मेरे को समझ आया कि अगर मेरे को एक कोई कंडीशन लगानी है कोई नंबर प्रिंट मुझे करना है कंडीशन मेरी क्या होनी चाहिए वो नंबर 10 से कम होना चाहिए तब तक प्रिंट करना है और स्टार्ट कहां से करना है स्टार्ट करना है वन से तो इनिश इजेशन क्या होगा मैं मान लीजिए य कमेंट लगाकर लिखता हूं इनिश इजेशन क्या होगा सबसे पहला नंबर होना चाहिए मैं मान लीजिए बोल देता हूं नंबर और उसकी वैल्यू होनी चाहिए वन ये मेरा हो गया इनिश इइ जशन अब मेरा वाइल लूप क्या बोलेगा कंडीशन क्या है मैं बोल रहा हूं लूप कब तक चलना चाहिए मैं बोल रहा हूं लूप तब तक चलना चाहिए जब तक मेरा नंबर 11 से कम हो या अच्छी ज्यादा अच्छा खने में क्या होगा लेस दन इक्वल टू 10 हो देखिए लेस दन 11 और लेस दन इक्वल टू 10 बात एक ही है बट यहां पर क्या होगा 10 तक चलना चाहिए क्योंकि मुझे काउंटिंग कहां तक प्रेट करनी है वन से 10 तक और दूस तीसरी सबसे इंपोर्टेंट बात क्या है देखिए जभी भी लूप लिखें तीनों चीजों को सबसे पहले आप ध्यान रखें इनिश इजेशन कंडीशन और तीसरी सबसे इंपोर्टेंट चीज क्या थी अपडेशन तो अपडेशन सबसे पहले कर ले जो आपको काम करना है वो बाद में करें पहले अपडेशन कर ले अपडेशन क्या है देखिए नंबर को मुझे क्या करना है नंबर में हर बार वन को ऐड करते जाना है मैं जितनी बार नंबर में वन ऐड करता जाऊंगा पहली बार मेरा काम हुआ वन फिर नंबर में वन ऐड कर दिया नंबर इक्वल टू नंबर प् 1 तो देखिए इक्वल टू क्या करता है राइट हैंड साइड को पहले इवेलुएट करेगा उठाकर लेफ्ट में डाल देगा तो नंबर की वैल्यू अभी वन है 1 + 1 2 हो जाएगा नम हो जाएगा टू अगली बार वापस आएंगे देखिए इनिश इजेशन तो एक ही बार हुआ टू हुआ टू के बाद यहां आए क्या ट 10 से कम है हां ट 10 से कम है वापस आएगा अंदर और अंदर हमको क्या करना है हर बार हमको करना है प्रिंट और प्रिंट क्या करना है प्रिंट करना है हमको एक नंबर जो हमारा नम है तो मैं करूंगा परसेंटाइल d ब n ताकि अब नेक्स्ट लाइन में भी जा सके और यहां क्या मैं दे दूंगा नंबर मैं बोल रहा हूं भाई हर बार आप बस मेरा यह नंबर जो है वो नम प्रिंट करते जाइए तो देखिए क्या हुआ इसको लिख देते हैं अपडेट तो ये तीनों जो मेरी इंपॉर्टेंट चीजें थी वो यहां कवर हो रही है क्या इनिश इजेशन किया यानी नम इक्वल टू 1 ये मेरी एक ही बार रन हुआ नम इक्वल टूव हो गया वाइल चेक किया क्या 1 10 से कम है है तो हमने क्या किया सबसे पहले वन को प्रिंट कर दिया फिर वन की वैल्यू नम की वैल्यू अपडेट की 1 + 1 2 नम की वैल्यू हो गई टू फिर वापस आए देखिए अपडेट यहां कुछ जरूरी नहीं लास्ट स्टेटमेंट अपडेट कोई स्पेशल चीज नहीं है कहीं अलग से इसको नहीं लिखना होता है जैसे कि इनिश इजेशन को कहीं अलग से नहीं लिखना है प्रोग्राम में ही लिखना है जो आपको कंपलसरी है देना वो तो कंडीशन ही है ये दोनों इनिश इइ जेशन भी और अपडेट भी काइंड ऑफ ऑप्शनल है बट ये हमेशा आपको याद रखना है लूप लिखते हुए तीनों चीजें मैंने की है या नहीं की है टू वैल्यू हो गई टू के लिए कंपेयर हुआ 2 10 से कम है है टू भी प्रिंट हो गया फिर यहां आए 2 + 1 अब नम की वैल्यू क्या है टू है 2 + 1 3 नम की वैल्यू अब हो गई थ फिर आए थ्री के लिए रन होगा फोर के लिए फाइव के लिए जैसे ही 10 के लिए रन होगा 10 के बाद क्या होगा रम की वैल्यू 10 10 + 1 = 11 11 की वैल्यू हो गई 11 11 के लिए आएंगे 11 लेन इक्वल टू 10 है क्या नहीं फॉल्स तो देखिए कंडीशन हमारी कैसी है यहां पर डायनेमिक कंडीशन है पहली 10 बार में ट्रू आई पर 11वीं बार में क्या हो गई ये कंडीशन फॉल्स हो गई जैसे ही ये कंडीशन फॉल्स हो गई इसके बाद आ जाएंगे बाद में तो यहां एक कंडीशन हम और लिख देते हैं क्या एक स्टेटमेंट और लिख देते हैं ताकि पता चले कि खत्म हुआ है यहां हम लिख देते हैं लूप हैज एंडेड है ना कि लूप भाई साहब खत्म हो चुका है अब एक बार इसको फिर से रन करके देखते हैं मैं इसको कर देता हूं क्लियर एक बार इसको करते हैं कंपाइल फिर से देखिए कंपाइलेशन में इसने दे दिया है एरर कि आपने कुछ तो यहां पर गड़बड़ जो है वो कर दी है क्या बोल रहा है ये इंपलीसिट डिक्लेरेशन हुआ है बैडी एंड स्पेस n का यहां अच्छा देखिए मैंने यहां सिर्फ प्रिंट लिख दिया है क्या लिखना था प्रिंट एफ लिखना था है ना एक बार इसको फिर से चलाक देखते हैं देखिए इस बार जो है कंपाइलेशन ठीक से हो गया है चलाते हैं इसको वाइल डॉट आउट तो देखिए क्या हुआ पहले 10 ये तो ये वाले 10 हैं जो बेचारे प्रिंट हो गए उसके बाद क्या हुआ देखिए वन से लेकर 10 तक काउंटिंग जो है वो दोबारा प्रिंट हो गई है उसके बाद लिखा आ गया है लूप हैज एंडेड है ना दूसरा काम हम क्या कर सकते हैं देखिए फिलहाल इसको कर देते हैं कॉमेंट क्योंकि ये तो हमारे लिए इंपॉर्टेंट नहीं है और अगर जरा मैं इस 10 को कर देता हूं 100 एक सेकंड के लिए और फिर देखते हैं चलाकर कि क्या अब क्या मेरा एफर्ट बार-बार चेंज हो रहा है देखिए पहले 10 बार हाथ से लिखना और 100 बार हाथ से लिखने में जमीन आसमान का फर्क था अब मुझे सिर्फ एक जीरो ऐड करना था मैंने इसको किया कंपाइल और फिर से किया रन देखिए क्या हुआ एक सेकंड से भी कम में क्या हुआ एक से लेकर 100 तक आपकी काउंटिंग यहां पर प्रिंट हो गई है अगर मैं इसको 100 को 10000 कर दूं तो तो क्या होगा तो देखिए एक बार चलाकर देखते हैं मैं इसको कर देता हूं कंपाइल फिर से करता हूं रन देखिए एक सेकंड से पहले इसने 10000 बार प्रिंट कर दिया है मैं स्क्रॉल करके आपको दिखाता हूं पूरा का पूरा सब कुछ यहां पर प्रिंट हुआ हुआ है देखिए इससे ऊपर हमारा इसका आउटपुट का ही बफर खत्म हो गया आउटपुट कह रहा है मैं इससे ज्यादा चीजें एक बार में नहीं रख सकता भाई कहां फंसा दिया आपने है ना तो देखिए पूरा का पूरा यहां पर 10000 नंबर इसने एक सेकंड में प्रिंट कर दिए हैं तो लूप का हमको क्या पूरा समझ आया कि जब भी आपको रिपीटिटिवली है ना यहां क्या किया पहले इनिश इजेशन किया फिर कंडीशन चेक किया फिर अपडेट किया बस यही है आपका लूप वापस आ जाते हैं एक बार दोबारा से देख लेते हैं हम यहां पर जो भी हमको और देखना था क्या आइट मेशन नंबर ऑफ टाइम्स द लूप्स रंस है ना यूज्ड फॉर नॉन स्टैंडर्ड कंडीशन बेसिकली जब भी कंडीशन एकदम स्टैंडर्ड नहीं होती है वाइल लूप जनरली इस तरह से यूज़ करते हैं नॉन स्टैंडर्ड का क्या मतलब है जब आपका लूप एकदम स्ट्रेट फॉरवर्ड हो जैसा अभी हमने लूप लिखा तो मोस्ट ऑफ़ द कंडीशंस में फॉर लूप को यूज़ किया जाता है जो इससे आगे हम पढ़ेंगे वाइल को किस लिए यूज़ नहीं किया जाता है एकदम सेम कोई दिक्कत नहीं है बस प्रॉब्लम ये है कई बार आप ये इनिश इइ जशन या अपडेट करना भूल जाते हैं लोग भूल जाते हैं और उसके बाद क्या होता है लूप गड़बड़ हो जाता है लूप गड़बड़ ना हो आप अपडेट कंडीशन स्पेशली भूल ना जाए इसलिए हम आगे देखेंगे कि फॉल्ड लूप कैसे इस्तेमाल होता है तो दिस रिपीट्स द ब्लॉक वाइल द कंडीशन इज ट्रू एंड हमेशा याद रखना है कि अपडेट करना ना भूलें वरना आप पहुंच जाएंगे इनफाइकिल में एक बात और मैं आपको दिखाना चाहता था दो चीजें मिस हो गई पहली बात तो ये कि अभी हमने कंडीशन लिखी है नम इवल ट नम + 1 जरूरी नहीं है आप कंडीशन इस तरह से लिखें एक तो इसको 10 कर देते हैं ताकि थोड़ा सा मेनेजेबल रहे दूसरा तरीका क्या था हमने देखा था हम कर सकते थे नम + = 1 उसका भी क्या मतलब होता है वही मतलब होता है नम = नम + 1 यानी नम में आप वन ऐड करते रहिए पर हमने यूनिरी ऑपरेटर भी पढ़े थे अगर वैल्यू सिर्फ एक बार ऐड करना हो किसी में वन ऐड करना हो तो हम सीधे लिख सकते हैं नम प्लस प्लस आपको जनरली लूप्स में हर जगह इसी तरह से लिखा हुआ मिलेगा नम प्लस प्लस नम प्लस प्लस का मतलब क्या है नम की वैल्यू एक बार आप ऐड कर दीजिए जैसे हमने ये लूप लिखा है इसी तरह से एक लूप और मैं आपको लिख करर दिखाता हूं मान लीजिए मेरे को उल्टा प्रिंट करना है यानी मैं चाहता हूं आप 100 से लेकर 1 तक उल्टी काउंटिंग प्रिंट करिए है ना तो इस बार इनिश इइ जशन क्या होगा मैं बोलता हूं इंटी जर मान लीजिए इस बार नाम हम ले ले लेते हैं नम ट ठीक है मैंने वेरिएबल का नाम ले लिया नम 2 उसकी वैल्यू दे दी 100 अब इस बार मैं कंडीशन क्या लिखूंगा मैं उल्टा काउंट कर रहा हूं 100 से 99 ब आऊंगा 99 देन 98 देन 97 96 इस तरह से आ रहा हूं कहां तक प्रिंट करना है वन तक प्रिंट करना है तो मैं बोलूंगा जब तक नम टू ग्रेटर देन है रो से यानी जब तक वन है तब तक ठीक है जैसे ही रो होगा तो ये कंडीशन हो जाएगी फॉल्स प्रिंट क्या करना है प्रिंट के लिए एकदम सेम कंडीशन रहेगी ये सेम यहां पर प्रिंट कर देंगे बस नम की जगह क्या दे देंगे यहां यहां दे देंगे नम टू और अपडेट कंडीशन इस बार क्या होगी अपडेट कंडीशन होगी उल्टी यानी मैं बोलूंगा नम टू माइनस माइनस यानी नम टू में हर बार एक-एक माइनस करते जाइए तब तक ये लूप यहां पर चलना चाहिए बीच में इनको डिफरेंस करने के लिए एक यहां दे देते हैं इसको बोल देते हैं फर्स्ट लूप है सेंडेड यहां बोल देते हैं सेकंड लूप हैज एंडेड है ना अब देखिए फिर से इसको एक बार चलाकर देखते हैं ये करता हूं मैं क्लियर कंपाइल हुआ चलाया तो देखिए क्या हुआ पहले प्रिंट हुआ वन से लेकर 10 तक फर्स्ट लूप हैज एंडेड आ गया अभी हमने क्योंकि इसके बाद बैक स्लैश नहीं दिया था तो अगला 100 जो है सबसे पहले यहीं आ गया है इसमें एक बै स्ल n भी दे देते हैं उसके बाद देखिए 100 से शुरू हुआ 99 98 997 करते जा रहा है करते जा रहा है कहां तक प्रिंट हुआ वन तक प्रिंट हो गया क्यों क्योंकि जैसे ही हर बार वैल्यू क्या हो रही है कम कम कम कम होती जा रही है जब वन के लिए चला होगा और 1 माइनस माइनस किया हमने तो 1 माइनस माइनस हो जाता है रो और क्या 0 ग्रेटर दन 0 है नहीं 0 ग्रेटर दन 0 नहीं है तो ये बेसिकली लूप ब्रेक होकर बाहर आ गया है ना तो बेसिकली उम्मीद कर रहा हूं वाइल लूप हम यहां पर बच्चों अच्छे से दोस्तों समझ सके समझ चुके हैं है ना अब वाइल लूप के बाद आ जाते हैं हम फॉल लूप के ऊपर देखिए एगजैक्टली जो वाइल लूप है वही फॉर लूप है बस इसमें क्या है ये जो तीनों चीजें हमको करनी थी क्या-क्या करनी थी इनिश इइ जेशन कंडीशन चेक और अपडेट ये तीनों इसने क्या कहा इसने कहा एक ही जगह कर लो भाई तीनों चीजें चेक आप एक ही जगह कर लीजिए यानी कैसे ये बोलता है एग्जीक्यूशन में इनिश इजेशन होगा कंडीशन चेक होगी बॉडी एग्जीक्यूट होगी फिर वेरिएबल आपका जो अपडेट है वो वाला हिस्सा चलेगा फिर कंडीशन चेक होगी ओनली चीज ये एक्स्ट्रा आई तो ये जो पहले बॉडी का पार्ट थी ये इसने अलग से बाहर निकाल ली पहले मैं इसको आपको चलाकर दिखाता हूं फिर वापस आएंगे तो आपको समझ आएगा कि क्या बात हो रही है है ना तो हम क्या करते हैं वाइल की एक यहां पर कॉपी बना लेते हैं और इस कॉपी का हम नाम रख देते हैं फॉर ठीक है वाइल को करते हैं बंद इसको भी करते हैं बंद अब देखिए जो स्टैंडर्ड हमने किया था इस इसको यहां पर हटा देते हैं और ये सेकंड वाला लूप भी मैं फिलहाल के लिए यहां पे आपके लिए हटा देता हूं है ना अब मैं वाइल के नीचे ही लिखूंगा फॉर लूप ताकि आपको ये समझ आए कि सेम वाइल लूप अगर मुझे फॉर में लिखना होता तो मैं किस तरह से लिखता ठीक है इसको हम फिलहाल कमेंट कर देते हैं ताकि हम नाम भी एगजैक्टली सेम इस्तेमाल कर सके तो देखिए फॉर क्या बोल रहा है फॉर बस ये बोल रहा है कि जो आपने वाइल में किया वही आप यहां पर करिए पर तीनों चीजें एक बार में आप कर सकते हैं यानी फॉर का सिंटेक्स क्या है फॉर भी आप ऐसे ही लिखेंगे ये दो ब्रैकेट लगाएंगे बॉडी के लिए दो ब्रैकेट लगाएंगे पर फॉर के बीच में कंडीशन नहीं तीनों चीजें आती है यानी सबसे पहले इनिश इजेशन इनिश इइ जशन मेरा क्या था इंट नम इक्वल टू 1 तो यहां लिखिए इंट नम इक्वल टू वन सेमीकलन लगाइए याद रखिएगा यहां सेमीकलन लगाना है उसके बाद पहले सेमीकलन से पहले क्या है इनिश इजेशन है पहले सेमीकलन के बाद क्या है कंडीशन चेक है कंडीशन मेरी क्या थी नंबर ले = 10 देखिए जो मैंने वेरिएबल यहीं डिक्लेयर किया है उसको मैं सीधे यहां चेक भी कर पा रहा हूं तो मैंने कर दिया नंबर जब तक 10 से कम हो तब तक चलाइए और अपडेट कंडीशन मेरी क्या थी अपडेट कंडीशन थी मेरी नम प् प् बस तीनों चीज यहीं आ गई अब मुझे लूप के अंदर क्या लिखना है लूप के अंदर सिर्फ जो मेरा एक्चुअल काम है मेरे को सिर्फ वही लिखना है तो देखिए बस इतने में ये जो हमने यहां लूप लिखा था चार पांच लाइन में यहीं तीन लाइन में पूरा हो गया है एक बार इसको मैं चलाकर दिखाता हूं आपको तो हम क्या करेंगे सबसे पहले लिखेंगे जीसीसी फरड स - o फॉर डॉट आउट है ना ये बेसिकली मेरा बनकर तैयार हो गया है चलाकर देख लेते हैं डॉ फड आउट तो देखिए क्या लिखा आया अच्छा हमने ये फर्स्ट लूप डॉ एड अंदर लिख दिया है इसको हमको लिखना था बाहर इसको कर देते हैं बाहर अंदर हमको प्रिंट करना था नंबर है ना तो नंबर हमने यहां पर प्रिंट अच्छा तीन स्पेस आ गए हैं चार हमको देने थे और ये हम करते हैं इंडेंटेशन फिक्स्ड एक बार फिर से चलाता हूं जो गड़बड़ थी वो कर दी है हमने फिक्स फॉर डॉट आउट देखिए क्या हुआ वन से लेकर 10 तक नंबर्स प्रिंट हुए हैं उसके बाद प्रिंट हो गया है फर्स्ट लूप हैज एंडेड तो जो काम ये फॉर वाइल लूप ने किया था एगजैक्टली वही काम फड लूप कर रहा है फॉल लूप हम इस्तेमाल कब करेंगे मेन पॉइंट फिर ये हुआ जहां पर आपको ये तीनों काम जनरली करने हैं इनिश इजेशन भी करना है कंडीशन भी करना है और अपडेट भी करना है उसके लिए आप फॉल्ड लूप चला लीजिए फायदा क्या होता है देखिए फायदा ही होता है माइंडसेट की बात है मेन माइंडसेट की और जब आप लूप पढ़ रहे हैं उसकी बात है यानी जब आप फॉर लूप लिखना स्टार्ट करेंगे जो लूप के लिए तीनों इंपॉर्टेंट चीजें हैं वो तीनों आप यहीं लिख लेंगे है ना और जो आपकी फॉर की बॉडी है उसके अंदर सिर्फ जो आपका बिजनेस लॉजिक है बिजनेस लॉजिक मतलब जो एक्चुअल कोड है जो आप एक्चुअल काम करना चाहते थे वही बॉडी के अंदर आएगा तो उससे क्या होता है पहली बात तो कोड आपका क्लीनर दिखता है दूसरा ये भूल मिलने की जो चांसेस है वो बहुत ज्यादा कम हो जाती है फॉर्म में अलग ही दिख जाएगा अगर आपने बाद के सेमीकलन के बाद कुछ नहीं लिखा है क् इसका मतलब इसने अपडेट कंडीशन यहां पर नहीं लिखी है यहां लिखना जरूरी नहीं है मैं चाहूं तो इस अपडेट कंडीशन को उठाकर यहां रख दूं और अभी भी ये बिल्कुल वैसे ही चलेगा जैसे पहले चल रहा था बट पूरा फॉर लूप लिखने का पॉइंट ही ये था कि मुझे अपडेट कंडीशन लूप के अंदर ना लिखनी पड़े मैं डायरेक्टली यहां लिख पाऊं और देखिएगा यहां मैंने अपडेट के बाद सेमीकलन नहीं लगाया है यहां सिर्फ इन दो में ही सेमीकलन आप लगाते हैं पहला इनिश इजेशन उसके बाद सेमीकलन फिर कंडीशन उसके बाद सेमीकलन और फिर आप लिखेंगे अपडेट कंडीशन और ये चलेगा किस तरह देखिए सबसे पहले जो कंडीशन जो बेसिकली फ्लो है वो आएगा इनिश इइ जशन के ऊपर सबसे पहले यह स्टेटमेंट रन होगा ये सबसे इंपॉर्टेंट बात है फॉर लूप की ध्यान से देखिएगा सबसे पहले ये स्टेटमेंट रन होगा जैसे ही ये स्टेटमेंट रन हो गया उसके बाद जाएंगे आप कंडीशन के ऊपर फिर कंडीशन चेक होगी पहले ये फिर ये है ना तो सबसे पहले आया इनिश इइ जेशन फिर आया कंडीशन फिर अपडेट नहीं होगा अगर कंडीशन ट्रू है तो कंडीशन ट्रू के बाद आ जाएंगे हम अंदर यानी नम इक्वल टू व है ओके क्या 1 10 से छोटा है है तो सबसे पहले होगा प्रिंट यानी अब जो भी आपकी लूप के अंदर का बॉडी है सबसे पहले पूरा आपका लॉजिक एग्जीक्यूट होगा हमारे पास एक ही स्टेटमेंट है तो एक ही स्टेटमेंट एग्जीक्यूट हो रहा है जब ये एग्जीक्यूशन पूरा हो जाएगा उसके बाद आप जाएंगे सीधे अपडेट पर इसके बाद होगा अपडेट अपडेट रन होगा फिर कंडीशन चेक होगा फिर अंदर जाएंगे फिर अपडेट होगा फिर कंडीशन चेक होगा फिर अंदर जाएंगे कब तक जाते रहेंगे जब तक ये कंडीशन फॉल्स नहीं हो जाता कंडीशन फॉल्स होगा तो बाहर निकल आएंगे डायरेक्ट ये चलेगा तो जो फ्लो है वो एगजैक्टली वाइ लूप वाला ही है कुछ भी डिफरेंस नहीं है बस लिखने का तरीका डिफरेंट है कि हम तीनों चीजें एक साथ लिख रहे हैं पहले ये एग्जीक्यूशन फिर कंडीशन फिर बॉडी फिर अपडेट फिर कंडीशन फिर बॉडी फिर अपडेट फिर कंडीशन फिर बॉडी बस ये आप याद कर लीजिए सोते हुए भी यही याद आए इनिश इजेशन अप इनिश इजेशन कंडीशन बॉडी अपडेट कंडीशन बॉडी अपडेट कंडीशन बॉडी अपडेट कंडीशन बॉडी अपडेट कंडीशन बॉडी अपडेट ऐसे चलता रहेगा कंडीशन फॉल्स होगी लूप ब्रेक होकर बाहर आ जाएगा तो अगर हम वापस आकर देखें तो देखिए फॉर में क्या है बस लिखने का तरीका थोड़ा अच्छा हो गया इटलाइज कंडीशन अपडेट और उसके अंदर अर होगी आपकी बॉडी तो जनरली प्रेफर्ड फॉर काउंटिंग इटरेशंस यानी जिस तरह का हमने काउंटिंग इटरेशन अभी किया है आपको टेबल्स प्रिंट करनी हो किसी चीज की इस तरह के जो भी काम है वहां पर फॉर लूप इस्तेमाल किया जाता है जब मुंह से निकल ही गया है तो करके भी देख लेते हैं मान लीजिए आपको यूजर से एक नंबर इनपुट कराना है और उसके बाद उस नंबर की टेबल प्रिंट करनी है किसी ने ये एग्जांपल दिया तो चलिए उसको इंप्लीमेंट करके देखते हैं यहां क्या करते हैं एक नया बेसिकली फाइल बना लेते हैं फाइल का नाम हम रखते हैं टेबल ड सी फॉर को कर देता हूं बंद और यहां आप स्टार्ट करते हैं क्या हैश इंक्लूड एडी ए उसके बाद लिखेंगे इंट मेन कीजिएगा रिटर्न जीरो देखिए हमने बोला सबसे पहले यूजर से एक नंबर इनपुट कराना है तो पहले नंबर डिक्लेयर कर लेते हैं इंट नम फिर लिखते हैं प्रिंट एफ प्लीज एंटर द नंबर उनसे बोला नंबर आप एंटर कर दीजिए स्कैनफ कर लेंगे स्कैनफ क्या करेंगे परसेंटाइल डी क्योंकि एक नंबर हमको इनपुट कराना है और न देखिए बंदे को पता ही नहीं चलेगा कि यार नंबर आप मांग क्यों रहे हैं तो इससे ऊपर एक पहले वेलकम स्टेटमेंट भी लिख देते हैं वेलकम टू प्रिंटिंग टेबल्स ठीक है यह हम आपका वेलकम कर रहे हैं कि भाई हम यहां पर टेबल्स प्रिंट करने वाले हैं इसमें दो स्पेसेस दे देते हैं उसके बाद प्लीज एंटर द नंबर वो नंबर इनपुट कराएगा अब उसके बाद हमको लिखना है एक लूप लूप क्यों लिखना है क्योंकि हमको टेबल उसकी प्रिंट करानी है कैसे कराएंगे फॉर देखिए टेबल जनरली कैसे प्रिंट करते हैं मान लीजिए फाइव की टेबल प्रिंट करनी है 5 * 1 5 * 2 5 * 3 5 * 4 कहां तक करेंगे 5 * 10 यानी मुझे हर बार 10 बेसिकली आइट मेशन चाहिए तो मैं क्या करूंगा इंटी जर i = 1 देखिए अभी तक हम नंबर वगैरह ले रहे थे बट जनरली आइट मेशन के लिए आप क्या यूज करते हैं i ज के इस टाइप के वेरिएबल यूज किए जाते हैं तो मैंने बोला i जब तक वन i को वन से स्टार्ट करना और कब तक चलाना जब तक i 10 से छोटा हो और क्या करते रहना i प् प् करते रहना तो देखिए क्या हुआ मेरे लूप की जो तीनों इंपॉर्टेंट चीजें हैं वो यहीं पर खत्म हो गई फॉर लूप में लिखना थोड़ा सा रीडबल है थोड़ा सा आसान है उसके बाद क्या करेंगे उसके बाद बस हम टेबल प्रिंट करेंगे टेबल कैसे प्रिंट करेंगे हम बोलेंगे भाई हमारा टेबल क्या है परसेंटाइल d उसके बाद क्या लिखेंगे x फिर परसेंटाइल डी इक्वल टू परसेंटाइल d थोड़ा सा सुंदर इसको बना रहे हैं हम और बाद में दे देंगे बै n तो देखिए हम क्या बोल रहे हैं कौन सा नंबर किसका टेबल प्रिंट होना है नंबर का टेबल प्रिंट होना है कौन से वाला आ रहा है अभी आई आ रहा है और वैल्यू क्या है कुछ नहीं है नंबर मल्टीप्ला बाय आ तीनों वैल्यू हमने यहां पर प्रिंट करती है एक बार इसको चलाकर देख लेते हैं चलाकर कैसे देखेंगे हम सबसे पहले कर लेते हैं इसको कंपाइल तो लिखेंगे जीसीसी टेबल माइनस ओ टेबल डॉट आउट ये मेरी फाइल बनकर तैयार हो गई है अब इसको चलाकर देख लेते हैं टेबल डॉट आउट तो देखिए सबसे पहले क्या बोल रहा है वेलकम टू प्रिंटिंग टेबल्स प्लीज एंटर द नंबर तो हमने फाइव की बात की थी फाइव ही डाल लेते हैं फाइव एंटर किया देखिए हमने किस तरह से रिप्लेस किया 5 * 1 = 5 5 * 2 10 5 * 3 15 5 * 4 20 तो इसने क्या किया इस तरह से सारे के सारे नंब जो है यहां पर प्रिंट कर दिए हमने किस तरह से बनाया था देखिए इसको एक्सप्रेशन को परसेंटाइल d मतलब यहां हमने हर बार नंबर ही दिया है तो यानी फाइव हर बार पहले आए मल्टीप्लाई बाय फिर i आए i मतलब वन से लेकर 10 तक एक-एक बार फिर i दे दिया और तीसरे में क्या दिया फाइनल रिजल्ट क्या होगा नंबर * i एक बार इसको फिर से दोबारा से चला करर देखते हैं किसी और नंबर के लिए मान लीजिए कोई मुश्किल टेबल प्रिंट करते हैं मैंने कहा 73 टेबल प्रिंट कर दो देखिए क्या हुआ पहले हमेशा 73 आ गया पहला नंबर रिप्लेस हुआ 73 * 1 73 * 2 73 * 3 पूरा का पूरा 73 * 10 730 तक पूरा का पूरा टेबल इसने प्रिंट कर दिया है तो लूप से ये सारे काम कितने आसान हो जाते हैं ये आपको क्लेरिटी हो रही होगी बाकी जब हम बा एक्सरसाइज में जाएंगे चैप्टर के बाद तो काफी ज्यादा मुश्किल जो चीजें हैं वो भी हम यहां बेसिकली लूप की मदद से कर रहे होंगे ठीक है तो यहां हो जाता है दोस्तों मेरा फॉर लूप कंप्लीट फॉर लूप हमको समझ आ गया वाइल लूप ही है जो भी काम आप वाइल से कर सकते हैं वो फॉर से कर सकते हैं जो फॉर से कर सकते हैं वो वाइल से कर सकते हैं ओनली डिफरेंसेस क्या कहां देखने में अच्छा लग रहा है अगर कहीं इनिश इजेशन या अपडेट है ही नहीं तो वहां वाइल इस्तेमाल कर लीजिए अगर इनिश जशन अपडेट कंडीशंस भी हैं तो वहां फॉर इस्तेमाल कर लीजिए ताकि तीनों एक साथ रहे लूप पढ़ने वाले को भी समझ आए अच्छा ये इनिश इइ किया है ये कंडीशन है ये अपडेट है लूप मुझे क्लियर हो गया अब मैं देख लेता हूं लूप के अंदर क्या लिखा हुआ है ठीक है तो ये हुआ दोस्तों हमारा फॉर लूप इसके बाद हम देखेंगे कि ये ब्रेक स्टेटमेंट क्या है देखिए ब्रेक स्टेटमेंट हम ऑलरेडी एक बार देख कर आए हैं कहां स्विच के अंदर अगर कोई भी केस हम हमको से बाहर आना था केस से बाहर आना था तो हम वहां क्या यूज़ कर रहे थे ब्रेक स्टेटमेंट यूज़ कर रहे थे यहां भी ब्रेक का यूज़ ऑलमोस्ट वही है क्या ब्रेक लेट्स यू स्टॉप अ लूप अर्ली और ब्रेक आउट ऑफ अ लूप यहां क्या बोल रहे हैं कि ब्रेक क्या आपको हेल्प करता है लूप को जल्दी एंड करने में या लूप के एकदम सडन बाहर आने में ब्रेक आपको हेल्प करता है तो ये आप कोई भी टाइप का लूप हो आपका फॉर हो वाइल हो आगे चलके डू वाइल लूप भी हम पढ़ेंगे जहां पर भी ब्रेक आ गया ब्रेक का मतलब है कोई कंडीशन चेक नहीं कुछ नहीं सीधा लूप के बाहर यानी अगर मैं यहां आपको दिखाऊं मान लीजिए यहां वाइल मेरा लूप चल रहा है ब्रैकेट लगाया है कुछ-कुछ स्टेटमेंट्स मैंने लिखे हुए हैं बीच में मैंने कहीं पर किसी एक कंडीशन में लिख दिया ब्रेक कि भाई अगर ये कंडीशन हो तो ब्रेक कर दीजिएगा जैसे ही अगर ये कंडीशन ट्रू हो गई और ब्रेक हुआ तो कोई कंडीशन चेक नहीं होगी कोई ब्रेक के आगे के स्टेटमेंट्स रन नहीं होंगे सीधे ये ढूंढेगा कि लूप का आखिरी कल्ली ब्रेसस कहां पर है लूप एंड कहां हो रहा है लूप का जहां कल्ली ब्रेसेज है उसके बाहर एकदम लूप के बाहर आके सीधा आगे चला जाएगा तो ये स्विच केस में भी यूज होता है एंड बेसिकली लूप या स्विच को जल्दी एंड करने के लिए भी यूज इसको किया जाता है दिस अल्टर्स द प्रोग्राम फ्लो फॉर एफिशिएंसी यानी अगर कहीं पर कुछ आपको कहीं पर ऐसी कंडीशन आ गई जो आप हैंडल नहीं कर सकते यूजर ने कुछ ऐसा डाल दिया जो आपको लग रहा है ये खराब हो गया है या कुछ भी अगर ऐसा आ गया है जो आपको लगता है कि अब लूप आगे नहीं चलना चाहिए तो आप तुरंत उससे बाहर आकर निकल सकते हैं अगेन ये भी थोड़ा सा गोटू की तरह ही होता है हालांकि इसका यूज किया जाता है पर ये गोटू की तरह ही थोड़ा सा रिकमेंडेबल ना करें जहां जरूरत हो वहीं इस्तेमाल करें वरना क्या होगा बेसिकली जो रीडेबिलिटी है वो खराब हो जाती है समझ नहीं आता कि कंडीशन कहां पर है चलिए एक बार इसको चलाकर मैं आपको दिखाता हूं यहां आ जाएंगे एक बार यह जो टेबल वाला है इसी को मैं कर लेता हूं कॉपी और इसका नाम हम रख देते हैं ब्रक डॉट सी है ना लूप को थोड़ा सा डिफरेंट तरीके से लिखेंगे देखिए यहां हम क्या कर सकते हैं ब्रेक का क्या मतलब है मैं मान लीजिए यहां बोल रहा हूं कि 10 तक नहीं 100 तक आपको टेबल प्रिंट करनी है ब्रेक में 100 तक आपको टेबल प्रिंट करनी है बट अगर मान लीजिए लूप के अंदर जैसे ही हम पहुंचेंगे 15 इटरेशन पर हम क्या चेक करते हैं अगर आ 15 पहुंच गया है अगर i की वैल्यू 15 है तो मैं क्या करूंगा इफ मैं दे देता हूं ब्रेक अब एक बार इसको चला कर देखते हैं देखिए आईडियली क्या होना चाहिए 100 तक टेबल प्रिंट होनी चाहिए या मान लीजिए इसको 10 ही रखते हैं इसको फाइव कर देते हैं ताकि थोड़ा सा हमारी स्क्रीन में फिट हो जाए चीजें आसानी हो देखिए हमने लूप में कोई चेंज नहीं किया है लूप एज इट इज 10 है बस यहां मैंने एक कंडीशन ऐड कर दी कि अगर i = = 5 हो जाए तो ब्रेक कर दीजिएगा है ना एक बार इसको चलाकर मैं आपको दिखाता हूं इसको करते हैं कंपाइल करेंगे जीसीसी ब्रक ड c - o ब्रेक डॉट आउट ठीक है अब इसको चलाकर दिखा देखते हैं डॉट स्ल ब्रक डॉट आउट ये बोल रहा है टेबल प्रिंट करेंगे जरा सेवन की टेबल प्रिंट कर दीजिए देखिए इसने क्या किया सिर्फ पांच तक ही टेबल प्रिंट की वरना टेबल प्रिंट नहीं की ऐसा क्यों किया ऐसा इसलिए किया क्योंकि देखिए पहली बार लूप रन हुआ दूसरी बार तीसरी बार चौथी बार पांचवी बार छठी बार भी लूप तो रन हो जाता बट जब पांचवी बार लूप रन हुआ तो इफ i = = 5 आ गया बीच में और क्योंकि ये कंडीशन ट्रू हो गई और ब्रेक स्टेटमेंट आया तो उसने कोई कंडीशन चेक नहीं की कोई अपडेट नहीं किया इसके बाद का भी कोई काम नहीं किया ब्रेक मारते ही सीधा फॉर के बाहर आ गया और प्रोग्राम हमारा बंद हो गया है ना तो ब्रेक का यहां आपको मतलब समझ आना चाहिए ब्रेक का क्या मतलब है जैसे ही बेसिकली आपका यह काम पूरा होगा जैसे ही आपकी कंडीशन ट्रू होगी और ब्रेक एनकाउंटर होगा तुरंत ब्रेक लगाकर आप बाहर आ जाएंगे ठीक बात है वापस आ जाते हैं यह था दोस्तों ब्रेक ब्रेक के बाद एक इसी तरह का एक और स्टेटमेंट होता है जिसका नाम बोला जाता है कंटिन्यू स्टेटमेंट कंटिन्यू का क्या मतलब है कंटिन्यू इज यूज्ड टू स्किप वन आइट ऑर द करंट आइट देखिए क्या बोलते हैं ब्रेक तो क्या करता है ब्रेक यह बोलता है भाई सब छोड़ो सीधे बाहर लूप खत्म कंटिन्यू क्या बोलता है जहां भी आपने कंटिन्यू लिखा है वहां से लेकर ब्रैकेट तक के जितने स्टेटमेंट्स हैं वो सबको कर देता है स्किप और सीधे नेक्स्ट अपडेट कंडी अपडेट चेक करने के लिए पहुंच जाता है कि अगर कंडीशन अभी भी ट्रू है तो फिर से वोह जो है अ अ बेसिकली चलना जो है वह स्टार्ट कर देगा ठीक है पहले इसको मैं आपको चलाकर दिखाता हूं उसके बाद दिखाऊंगा कि किस तरह से चलना चाहिए मान लीजिए सबसे पहले ब्रेक की एक कॉपी बना लेते हैं इसका नाम हम रखते हैं कंटिन्यू और इसमें थोड़ी सी एक डिफरेंट प्रॉब्लम लेते हैं इस बार है ना यह मैंने बस बेसिक इसके लिए कर लिया है यहां यह सब हम हटा देते हैं इस सब की कोई जरूरत नहीं है मान लीजिए हमको करना क्या है या पूरा ही कोड हटा देते हैं स्टार्ट से शुरू करते हैं मान लीजिए किसी ने बोला एक काम करिए आप ऑड नंबर्स प्रिंट करिए वन से लेकर 100 तक जितने भी ऑड नंबर्स हैं उनको प्रिंट करिए है ना तो सबसे पहले हम क्या लिखते हैं बेसिक काम लिख लेते हैं यानी वन से लेकर 100 तक के नंबर प्रिंट कर लेते हैं पहले तो बोलता हूं इंट i इक्वल टू माफ कीजिएगा इंट i इ 1 i ले इक्व टू 100 आ प् प्स एक से लेकर 100 तक के नंबर प्रिंट करने हैं मैं लिखता हूं प्रिंट f भाई एक नंबर जो है प्रिंट करिए माफ कीजिएगा डबल कोट्स के अंदर नंबर प्रिंट करिए ब n और यहां दे देता हूं आ है ना देखिए इससे क्या होगा चलाकर देख लेते हैं जीसीसी कन्यू स माइ को कंटिन्यू डॉट आउट है ना और डॉट स्लश कंटिन्यू तो देखिए क्या हुआ वन से लेकर 100 तक इसने सारे के सारे नंबर प्रिंट कर दिए बट हमारी कंडीशन क्या थी हमको करना था सिर्फ ऑड नंबर्स को प्रिंट है ना तो यहां पर मैं क्या क्या चेक कर सकता हूं कि मैं प्रिंट करने से पहले एक चीज चेक कर लू देखिए एक बेसिक तरीका तो क्या है पहले चेक कर लो कि भ ये ऑड है या नहीं नंबर प्रिंट करने से पहले तो मैं करता हूं इफ आ मडल 2 इक्व टू इव टू 1 यह क्या कंडीशन है एक बार देखिए मैंने बोला आ मडल ू यानी आ को अगर दो से डिवाइड करें तो रिमाइंडर अगर वन है तो यह ऑड है नहीं तो इवन है यह बात एकदम ठीक है एक बार इसको दोबारा से चलाकर देखते हैं मैं बोलता हूं जीसीसी जरा दोबारा कंपाइल करिए और जरा रन करिए देखिए क्या हुआ है 1 3 5 7 9 11 13 15 17 इसी तरह से बेसिकली इसने 99 तक सारे ऑड नंबर्स प्रिंट कर दिए हैं इसको करने का एक दूसरा तरीका क्या है कि मैं यह बोलूं कि भाई नंबर तो प्रिंट होगा है ना नंबर तो प्रिंट होगा बट अगर ऑड प्रिंट करना है तो मैं बोलता हूं अगर इवन है तो कंटिन्यू कर दीजिए तो मैंने यहां क्या चेक कर लिया कि जैसे ही कंटिन्यू स्टेटमेंट आएगा तो सब कुछ स्किप कर देगा तो ये प्रिंट भी स्किप कर देगा और सीधा पहुंच जाएगा वापस कहां कंटिन्यू आते ही सीधा पहुंच जाएगा अपडेट के ऊपर और ये चेक करेगा सबसे पहले बेसिकली अपडेट करेगा उसके बाद करेगा कंडीशन चेक कंटिन्यू आएगा अपडेट कंडीशन चेक तो क्या होगा जब भी इवन आएगा तो ये बेसिकली बॉडी जो है वो स्किप हो जाएगी सीधा जाएगा यहां पर और उसके बाद यहां पर एक बार इसको दोबारा रन करके देखते हैं मैं करता हूं कंपाइल और उसके बाद करते हैं रन देखिए रिजल्ट क्या है रिजल्ट अभी भी सेम है 1 3 5 7 9 11 13 15 तो कंटिन्यू क्या करेगा कंटीन्यू आपको समझ आना चाहिए सिर्फ वहां से लेकर ब्रैकेट तक की बॉडी को स्किप करेगा उसके बाद जो इसको करना था अपडेट करेगा य कंडीशन चेक करेगा फिर रन करेगा ब्रेक क्या कर रहा था ब्रेक सीधे ब्रैकेट के बाहर नेक्स्ट स्टेटमेंट पर जा रहा था कंटिन्यू सिर्फ वो वाली जो इटरेशन चल रही है सिर्फ उस इटरेशन को ही स्किप करता है यानी एक इटरेशन को स्किप करता है और उसका बाद नेक्स्ट इटरेशन पर पहुंच जाता है तो ये है दोस्तों आपका कंटिन्यू एक बार इसका जो नोट्स है वो देखते हैं क्या इमीडिएट स्टार्टस द नेक्स्ट आइट ऑफ द लूप है ना यहां सबसे इंपॉर्टेंट बात क्या है कंटिन्यू का यूज जब भी आप वाइल लूप के अंदर करेंगे तो बहुत ही ज्यादा ध्यान से दोस्तों करना है क्यों इन वाइ लूप रिमेंबर टू डू द इंक्रीमेंट मैनुअली बिफोर क्लोजिंग कंटिन्यू देखिए अगर ये सेम काम मैंने वाइल लूप में किया होता मैं आपको बेसिकली मान लीजिए करके दिखाता हूं अगर सेम चीज मुझे वाइल लूप में लिखनी हो तो मैं वाइल लूप में कैसे लिखूंगा पहले मैं लिखूंगा मान लीजिए इंट नम 2 = 1 है ना फिर हम लिखेंगे वाइल नम 2 इ लेसन इक्वल टू 100 है ना य क्या लिखेंगे यहां बेसिकली य ए इट हम कॉपी करके लिख देते हैं क्या इ आई की जगह दे देंगे नटू यहां दे देंगे यह और एंड में क्या लिख देंगे एंड में लिख देंगे नम टू प्लस प्लस देखिए इससे दिक्कत क्या होगी इससे दिक्कत यह होगी एक बार मैं पहले आपको इसको चलाकर दिखा देता हूं ताकि समझ आए कि दिक्कत है क्या माफ कीजिएगा हमने किया इसको कंपाइल और इसके बाद किया रन देखिए हुआ क्या है पहले वाला जो हमने लूप लिखा हुआ था उससे वन से लेकर 99 तक चीजें प्रिंट हो गई हैं दूसरे में सिर्फ वन प्रिंट हुआ और उसके बाद हमारा जो एग्जीक्यूशन है वो खत्म नहीं हुआ आप देखिए अभी भी क्या है प्रोग्राम हमारा रनिंग स्टेट में है क्योंकि वापस कमांड प्रम परम नहीं आए हुआ क्या है वन के लिए रन हुआ मेरा जो कोड है जैसे ही टू के लिए आया टू के लिए हमने चेक किया 2 मॉड्यूस 2 = = 0 है कंटिन्यू दोबारा कंडीशन पर चले गए क्या 200 से कम है है यहां आते रहे एक काम करते हैं मैं आपको इटरेशन दिखाने के लिए यहां एक प्रिंट स्टेटमेंट लगा देता हूं मान लीजिए मैं करता हूं प्रिंट जरा एक डॉट यहां पर बीच में आप प्रिंट कर दें हर आइट में एक डॉट आप यहां पर प्रिंट कर दें इसको अभी कंट्रोल सी करके बंद करते हैं दोबारा से मैं इसको करता हूं कंपाइल और फिर से हम इसको करते हैं रन अब देखिए क्या हो रहा है कितने सारे डॉट डॉट डॉट डॉट लगातार नीचे आपको दिख रहा होगा नहीं दिख रहा है मैं एक बार थोड़ी देर के लिए अ आपको स्क्रीन छोटा करके यहां पर दिखाता हूं देखिए हो क्या रहा है लगातार डॉट डॉट डॉट डॉट डॉट डॉट डॉट डॉट प्रिंट आपके होते जा रहे हैं यह क्यों होता जा रहा है क्योंकि हम एक इंफाइटिंग गए हैं क्योंकि हमने क्या किया हर बार अपडेट किया चेक किया बेसिकली कंटिन्यू किया कंडीशन चेक किया कंटिन्यू किया कंडीशन चेक किया ये अपडेट हम हाथ से करना भूल क्योंकि इस कंटिन्यू ने सब कुछ बाद का स्किप कर दिया इसने हमारा ये अपडेट भी स्किप कर दिया तो वाइल लूप लिखते हुए आपको एक मेन ध्यान हमेशा क्या रखना है कि आप ये अपडेट कंडीशन स्किप ना कर जाए इसपे हम आपके नोट्स के लिए स्पेशली यहां पर लिख देते हैं इनफाइकिल जाएगा क्यों क्योंकि आपने कंटिन्यू वाइल के अंदर यूज़ कर लिया अगर आप कंटिन्यू यूज कर रहे हैं तो कंटिन्यू करने से पहले यहां पर नम टू प्लस प्लस अपने हाथ से कर दें मान लीजिए हम क्या कर दें यहां पर नम टू प्लस प्लस अपने हाथ से यहां पर पर कर दें अब ये इनफाइनों मुझे पता था मैं कंटिन्यू करने वाला हूं अपडेट कंडीशन मेरी स्किप हो जाएगी तो अपडेट मैंने यहां मैनुअली कर दिया है है ना तो यही यहां पर ये बोल रहा है कि वाइल लूप में रिमेंबर टू डू द इंक्रीमेंट मैनुअली बिफोर यूजिंग कंटिन्यू लूप में काफी हद तक ये यूज किया जाता है स्विच में नहीं चलता है ये स्विच में सिर्फ ब्रेक चलता है कंटिन्यू स्विच में नहीं होता है उससे लॉजिक कई बार काफी इंप्रूव हो जाता है कंटिन्यू की वजह से चीजों को लिखना जो है वो आसान हो जाता है ठीक है तो ये हुआ दोस्तों मेरा कंटिन्यू इसके बाद चलते हैं हम अपने नेक्स्ट लूप पर जिसका नाम क्या है ऑड लूप अब ये क्या है ये कोई लूप नहीं है एक स्पेसिफिक कंडीशन है कंडीशन क्या है जब आपका लूप जो है वो कंडीशन ड्रिवन हो यानी रन टाइम पर ही पता चलने वाला है रन अटिल अ स्पेसिफिक कंडीशन इज फुलफिल्ड उसको बोला जाता है ऑड लूप है ना ये कोई स्पेसिफिक टाइप का लूप नहीं है ये सिर्फ एक कंडीशन है तो यहां हम बेसिकली एक बार देखते हैं क्या एग्जीक्यूशन ऑफ अ लूप फॉर एन अननोन नंबर ऑफ टाइम्स यानी आप ये बोल रहे हैं लूप चलाना है पर ये मुझे पता ही नहीं है कि कब तक चलेगा ये रन टाइम पर ही डिसाइड होगा कि ये कब तक चलेगा जैसे कि मान लीजिए यहां पर हम अगर आप कोड देखेंगे हम यहां पर क्या कर रहे हैं यहां पर डू वाइल इस्तेमाल हुआ है डू वाइल अभी आप छोड़ दीजिए बेसिकली हम क्या बोल रहे हैं नंबर एक एंटर कराना है और जब तक यूजर का यूजर दो नंबर एंटर करेगा और जब तक वो दोनों नंबर इक्वल ना हो बेसिकली जब तक वो अ यहां हम ये कर रहे हैं कि हम उससे पूछ रहे हैं कि आपको एक और नंबर एंटर करना है और जब भी वो बोले हां मेरे को एकॉर्ड नंबर एंटर करना है तब तक वो लूप आप चलाते रहे ऐसे बहुत सारे कंडीशन हो सकते हैं मैं ये बोल सकता हूं मान लीजिए कि जब तक यूजर ने 10 एंटर नहीं किया तब तक वो नंबर एंटर करता रहे उससे नंबर एंटर कराते रहिए जब तक वो 10 एंटर ना करे अब कोई पूछे मेरे से कि लुक कितनी बार चलेगा भाई हमको क्या पता कितनी बार चलेगा जब तक यूजर 10 एंटर नहीं करता तब तक चलता रहेगा तो जब भी इस तरह की कोई कंडीशन है कि पता नहीं कब तक चलेगी बेस्ड ऑन यूजर का इनपुट या बेस्ड ऑन फाइल बेस्ड ऑन कोई भी एक्सटर्नल फैक्टर जो आप अपने आप से कंडीशन नहीं बना सकते इसमें कोई अपडेशन नहीं हो रहा है उस केस को क्या बोलते हैं ऑड लूप बोलते हैं एक बार इसको चलाकर दिखाता हूं मैं आपको यहां आते हैं एक नया फाइल बनाते हैं और इसका नाम हम रखते हैं ऑड डॉट सी है ना ऑड सी के अंदर हम क्या लिखेंगे सबसे पहले तो हमारा जो बेसिक सिंटेक्स है वो लिखेंगे शश इंक्लूड एटीडीओ ए क्या गड़बड़ कर दी मैंने ए को कैपिटल कर दिया था चलो कंपाइलर ने खुद से छोटा कर दिया इंट मेन रिटर्न जीरो है ना मान लीजिए यही हम लिखते हैं कि तब तक यूजर से नंबर एंटर कराइए जब तक वो 10 एंटर ना कर दे बस हमारा मन है जब तक आप 10 एंटर नहीं करेंगे तब तक आपसे नंबर एंटर कराते रहेंगे है ना तो अब हम क्या बोलेंगे देखिए नंबर है नंबर की वैल्यू मैं मान लीजिए दे देता हूं जीरो है ना अब मैं बोलता हूं कि भाई तब तक लूप चलाइए वाइल इनिला जशन मेरा हो गया इक्वल टू जी कब तक चलाइए जब तक नंबर नॉट इक्वल टू 10 हो जब 10 हो तो बाहर आ जाइएगा नंबर नॉट इक्वल टू 10 या 10 के अलावा कुछ भी हो तो य कंडीशन ट्रू होगी तो मैंने बोला नॉट इक्वल टू 10 है तो लूप चलाते रहि लूप के अंदर क्या करेंगे स्कैन कर लेंगे सबसे पहले प्रिंट करते हैं प्रिंट एफ बोलता हूं प्लीज एंटर द नंबर है ना और यहां कर लेंगे स्कैन स्कैन कैसे करेंगे परसेंटाइल डी उसके बाद क्या देंगे ए परसन नंबर यह हो गया मेरा स्कैन है ना अब अपडेट कहां करेंगे अपडेट कर ही नहीं रहे है ना एक काम करते हैं प्रिंट एक और लगाते हैं कांग्रेस यू हैव गेस्ड द करेक्ट नंबर इसको कर देते हैं बंद अब एक बार पहले मैं आपको इसको चला कर दिखाता हूं फिर बात करेंगे इसकी थोड़ी सी और डीप जीसीसी डड सी ऑड आउट कुछ तो गलत किया है सिर्फ प्रिंट लिख दिया है प्रिंट एफ तुरंत एरर आ जाती है फिर से रन करेंगे इस बार हो गया है ठीक डॉट स्ल डॉट आउट कह रहा नंबर एंटर करिए फोर कर दिया नंबर एंटर करिए 8 कर दिया ना कर दिया फोर कर दिया 5 स कुछ भी न 543 माइ 876 नहीं 10 एंटर अगर मैं कर दूंगा तो ये खुश हो जाएगा बोलेगा कांग्रेस यू हैव करेक्ट द गेस्ट नंबर तो देखिए यहां क्या हो रहा है अपडेट तो हमने किया ही नहीं भाई अपडेट हो रहा है अपडेट यहां हम नहीं कर रहे बस यूजर कर रहा है हमारा मेन पॉइंट क्या था कि ये जो कंडीशन है ये कोई फिक्स्ड कंडीशन नहीं होनी चाहिए कंडीशन अपडेट होती रहे तो ये कंडीशन जब अपडेट होती रहेगी अपडेट कैसे हो रही है क्योंकि नंबर को हम बार-बार चेंज कर रहे हैं यूजर के इनपुट से यूजर जब भी कोई नंबर इनपुट करता है उसको हम नंबर में ही सेव कर लेते हैं नम अपने वेरिएबल में सेव कर लेते हैं क्योंकि हम उसको नम वेरिएबल में सेव कर रहे हैं फिर से वो चेक होगा जब तक 10 नहीं है तब तक हम उसको बार-बार नंबर एंटर कराते रहेंगे और अगर हम इस लाइन तक पहुंच गए सर आपने तो कुछ चेक ही नहीं किया आपने अज्यू म कर लिया कि उसने नंबर गेस कर लिया है भाई अगर हम इस लाइन तक पहुंचे हैं इसका मतलब ये है कि ये कंडीशन फॉल्स हो गई थी फॉल्स होने का मतलब है नंबर 10 हो गया था अगर ये नंबर 10 नहीं होता तो ये लूप के अंदर ही घूम रहा होता हम यहां हमारा कोड पहुंच गया इसका मतलब ही ये है कि नंबर की वैल्यू 10 हो गई है इसलिए हमने क्या बोला तुरंत उसको बोल दिया कांग्रेस यू हैव गेस्ड द करेक्ट नंबर है ना तो ये क्या है ये एक तरीका है ऑड लूप का जहां कोई मुझसे कोई कोड आपको दिखाकर पूछे कि बताइए कितनी बार कोड रन होगा कितनी बार का लूप है कितने आइट केशंस होने वाले हैं नहीं पता भाई रन टाइम पर ही डिसाइड होने वाला है इसको क्या बोलते हैं ऑड लूप ये वाइल और डू वाइल में जनरली इस्तेमाल किया जाता है डू वाइल इसके बाद हम पढ़ने वाले हैं डायनेमिक इंटरेक्शन है यानी पहले से नहीं पता काफी डायनेमिक है कि कितना चलेगा इसमें ब्रेक का भी यूज़ किया जाता है प्रैक्टिकल यूज़ क्या है आइडियल फॉर प्रोसेसिंग विद अननोन कंप्लीशन पॉइंट जब कंप्लीशन पॉइंट नहीं पता मान लीजिए फाइल कितनी बड़ी होगी नहीं पता फाइल पढ़ रहे हैं भाई जब फाइल का एंड हो जाए तब बाहर आ जाइएगा है ना इस टाइप की जो कंडीशंस हैं उसके लिए किया जाता है अगेन डिजाइन केयरफुली करना है ताकि आप इनफाइकिल आ जाते हैं हमारे लास्ट लूप के ऊपर जिसका नाम क्या है डू वाइल यार इसने वाइल का नाम चोरी क्यों किया अपना नया नाम बना लेता इसने वाइल का नाम चोरी इसलिए किया क्योंकि ये ऑलमोस्ट वाइल लूप ी है सिर्फ एक हल्का सा स्लाइट डिफरेंस है तो एक तो इसमें नया कीवर्ड एक यूज हो रहा है डू है ना उसके बाद दो ब्रैकेट लगे हैं फिर लिखा है वाइल तो वाइल की जो कंडीशन है वो कंडीशन यहां पर बाद में चेक हो रही है तो देखिए डू वाइल का पॉइंट ही ये है अगर आपको कहीं पर इस तरह का काम करना हो कि भाई एक बार तो चलेगा ही चलेगा लूप एक बार तो चलना ही चाहिए उसके बाद कंडीशन चेक होनी चाहिए तो उस केस में आप डू वाइल का इस्तेमाल करते हैं कैसे होता है यहां पर स्टार्ट होगा पहले बॉडी चलेगी जो कोड टू एग्जीक्यूट है पहले आपकी बॉडी चल जाएगी फिर कंडीशन चेक होगी अगर कंडीशन ट्रू है तो फिर से बॉडी चलेगी अगर जब तक कंडीशन ट्रू है तो बार-बार चलती रहेगी और फिर जब भी कंडीशन फॉल्स होगी तो बाहर निकल जाएगी ओनली डिफरेंसेस पहले कंडीशन ऊपर था कोड नीचे था अब ये कोड ऊपर है कंडीशन नीचे यानी एक बार तो कोड चलेगा ही चलेगा कंडीशन कुछ भी हो और उसके बाद बाद हम आ जाएंगे बाहर अगेन इसको पहले मैं आपको चला कर दिखाता हूं फिर आएंगे वापस तो एक काम करते हैं इसकी एक कॉपी बना लेते हैं हमारे ऑड की और इसका नाम हम रख देते हैं डू हाइन वाइल ठीक है देखिए जो हाइन मैं लगा रहा हूं सिर्फ फाइल के नाम में लगा रहा हूं फाइन के नाम में नाम में वाइल जो हाइन है वो अलाउड है पर हमारे वेरिएबल के नाम में नहीं है एनीवे डू वाइल हम चला रहे हैं इस फिलहाल को मैं कोड को कर देता हूं कमेंट और एक डू वाइल में आपको चलाकर दिखाता हूं मान लीजिए हम क्या करते हैं यहां वन से लेकर 10 तक काउंटिंग प्रिंट करनी है पर वो डू वाइल से ही करनी है तो मैं क्या करूंगा इंट i इक्वल टू मान लीजिए वन वन से स्टार्ट करना है मैं बोलता हूं डू क्या करना है भाई जरा नंबर को प्रिंट कर दीजिए प्रिंट एफ मेरा परसेंटाइल डी एक नंबर है बै ए अगली लाइन में दूसरा नंबर डालिए i को जो है आप मेरे प्रिंट कर दीजिए और कहां तक प्रिंट करिए अब आएगा वाइल यानी बॉडी पहले आई डू के साथ फिर आया वाइल और कंडीशन मेरी क्या है कंडीशन मेरी है शुड बी लेसन इक्वल ट 10 एक काम मैं भूल गया क्या अपडेट करना अपडेट भी बॉडी के अंदर होगा i को मैं कर देता हूं प्लस प्लस अब एक बार इसको चलाकर देखते हैं डू वाइल मेरे को चलाना है जीसीसी ड वाइल माइ ओ डू वाइल डॉट आउट ठीक है अब इसको एक बार चलाकर देख लेते हैं डॉट स्ल ड वाइल डॉट आउट तो देखिए क्या हुआ वन से लेकर 10 तक नंबर प्रिंट हो गए एकदम बेसिक कोई दिक्कत नहीं क्यों i1 आया यहां पर चला प्रिंट हुआ टू हो गया टू कंडीशन चक हुई फिर चला फिर प्रिंट हो गया जैसे ही कंडीशन आई 11 हो गया तो बाहर आ गया यहां कंडीशन फॉल्स हो गई तो ये काम तो हम वाइल से भी कर सकते थे फॉर से भी कर सकते थे फिर डू वाइल की क्या जरूरत है देखिए डू वाइल की मेन जरूरत ही यहां पर है जब आपको इस टाइप का कोई काम करना हो देखिए यहां पर हमको एक्चुअली करना क्या था यहां पर हमको यूजर से नंबर इनपुट कराना था और फिर चेक करना था कि नंबर जो है वो 10 अगर ना हो तो क्या हो दोबारा से नंबर मांगा जाए बट एक बार तो नंबर एंटर कराना ही पड़ेगा यूजर से एक बार तो हमेशा नंबर एंटर कराना था हमने क्या चोरी की हमने यहां नंबर की वैल्यू अपने आप जीरो कर ली नंबर की वैल्यू पहले अपने आप जीरो कर लिया और फिर चेक कर लिया कि नंबर 10 के इक्वल तो नहीं है तो हमने पहली बार कंडीशन को अपने आप ही मुझे पता है पहली बार के लिए तो कंडीशन कभी भी हमेशा ही ट्रू होगी नंबर कभी भी 10 नहीं हो सकता क्योंकि अभी-अभी तो मैंने उसकी वैल्यू क्या असाइन की है जीरो असाइन की है तो नंबर 10 कैसे हो सकता है तो मैंने यहां हैक किया क्या किया कि पहली बार तो चलेगा ही चलेगा बाद में यूजर देख लेगा पर इस तरह की कंडीशंस में अब मैंने मान लीजिए यहां जीरो दे दिया ये सब करना ठीक नहीं होता है करना क्या चाहिए आपको यहां मुझे नंबर ही असाइन करना चाहिए था और वाइल की जगह आपको यहां क्या लिखना चाहिए था वाइल की जगह आपको लिखना चाहिए था ड कि भाई पहले यूजर से नंबर लेकर आओ और फिर चेक करो कि क्या वह नंबर 10 के बराबर नहीं है अगर वह नंबर 10 के बराबर नहीं है तो फिर से नंबर मांगो 10 के बराबर नहीं है तो फिर से नंबर मांगो और तब तक नंबर मांगते रहो जब तक वो नंबर 10 ना हो जाए और उसके बाद आप अपना प्रिंट कर सकते हो तो देखिए यहां क्या हुआ जो मुझे एक्सप्लीसिटली वैल्यू ज़ीरो असाइन करना पड़ रहा था वो वैल्यू असाइन करना बच गया मैंने कोई वैल्यू असाइन नहीं की है पहली बार में ही डायरेक्ट वैल्यू किसने असाइन की है यूजर ने ही यहां पर वैल्यू असाइन की है नंबर की तो यह लूप क्या है लूप फर्स्ट टाइम तो हमेशा रन होगा ही होगा और उसके बाद कब तक रन होता रहेगा जब तक 10 वैल्यू एंटर ना कर दे यूज़र फिर से चलाकर देखते हैं मैंने कर दिया जीसीसी दोबारा कंपाइल कर दिया है चलाए ये 10 तो बेसिकली ऊपर वाले लूप का प्रिंट हो गया अभ ये बोल रहा है नंबर एंटर करिए मैंने बोला तीन फिर से करिए पांच फिर से करिए 10 करूंगा तो बोलेगा कांग्रेस यू हैव एंटर्ड द करेक्ट नंबर तो हमेशा बस ओनली डिफरेंस क्या है वाइल और डू वाइल में जब भी ऐसा लगे कि एक बार तो लूप हम मेरा एग्जीक्यूट होना ही चाहिए उस केस में हम ड वाइल यूज़ करेंगे बहुत ही कम केसेस हैं प्रैक्टिकली मेरे ने 10 12 साल के सॉफ्टवेयर एक्सपीरियंस में मैंने शायद कभी ही डू वाइल यूज़ किया हो बहुत ही कम कंडीशंस ऐसी होती हैं जब ड वाइल आप एक्चुअली यूज़ करते हैं अगर इसका हम नोट्स देखें तो क्या है एग्जीक्यूट्स द ब्लॉक फर्स्ट एंड देन चेक्स द कंडीशन पहले ब्लॉक एग्जीक्यूट होगा तब कंडीशन चेक होगी गारंटीड टू रन एटलीस्ट वन आइट देशन वन एक बार तो चलेगा ही चलेगा उसके बाद ही कंडीशन चेक होने वाली है अनलाइक वाइल फर्स्ट आइट मेशन इज़ अनकंडीशनल वाइल में अगर पहली बार भी कंडीशन फॉल्स होगी तो इफ की तरह पूरा का पूरा लूप स्किप हो जाएगा बट यहां पर पहला इटरेशन अनकंडीशनल है यानी पहला आटन रन होगा ही होगा और अगेन यहां क्या बोलता है डोंट फॉरगेट टू अपडेट द कंडीशन कंडीशन को अपडेट करना ना भूलें डू वाइल के अंदर वरना कहां फंस जाएंगे इंफाइटिंग जाएंगे इंफाइटिंग चीज क्या है इंफाइटिंग लूप चीज क्या है इफाइन इट लूप क्या बोलता है एक एंडलेस एग्जीक्यूशन दे रन कंटीन्यूअसली यार एक बार हम ऑलरेडी अभी काम करते हुए इंफाइटिंग गए थे कहां जहां डॉट डॉट डॉट डॉट प्रिंट होते जा रहे थे क्यों क्योंकि हमने गलत जगह कंटिन्यू चला दी दिया था तो अगर कभी भी आप एक ऐसे लूप में फंस चुके हैं जहां पर क्या हो रहा है जहां पर आपका लूप हमेशा कंटीन्यूअसली घूमे जा रहा है और लूप से बाहर आ ही नहीं पा रहा आपकी कंडीशन फॉल्स हो ही नहीं पा रही है उसको बोलते हैं इंफाइटिंग लूप मतलब जिसमें इंफाइटिंग है हमेशा ही चलता जाएगा जब तक आप कंप्यूटर की लाइट ही बंद ना कर दें या फोर्स केल ना कर दें वो हमेशा ही चलने वाला है इसको जनरली आपको क्या करना है अवॉइड करना है बहुत ही कम बार ऐसा होता है कि पर्पसफुली बनाया हो जानबूझकर क्यों बनाएंगे क्योंकि हो सकता है आप बाहर आने का तरीका ब्रेक के हिसाब से ढूंढ रहे हूं कि मेरे को जब जरूरत होगी मैं ब्रेक करके आ जाऊंगा पर वाइल में तो ट्रू लिख दो वाइल के अंदर तो वन लिख दो वाइल को तो बोलो तू हमेशा रन हो जब मुझे बाहर आना होगा मैं ब्रेक लगाकर आ जाऊंगा कुछ बार इस तरह का लूप भी आप डिजाइन करते हैं कोड में बट अगर ये पर्पस फुल नहीं है तो मोस्ट प्रोबेबली इसको आपको अवॉइड करना है देखिए कई बार डीबगिंग में भी जब आप कोड लिखेंगे आपको पता नहीं चलेगा कि आप इनफाइनों गए हैं तो जो ट्रिक मैंने आपको दिखाई थी यानी हर लूप में एक जरा डॉट मार के देखिए अगर आपको लग रहा है आपका प्रोग्राम कहीं फंस रहा है हर लूप के अंदर एक-एक प्रिंट डॉट कर दीजिए अगर डॉट बहुत सारे प्रिंट हो रहे हैं इसका मतलब भाई कोई लूप इनफाइकिल आइए कहीं कॉमा लगाइए कहीं स्लैश लगाइए जो सबसे ज्यादा प्रिंट होगा वही वाला लूप आपका अटका है अगर एक प्रोग्राम में मल्टीपल लूप्स आपने लगाए हैं तो अगर हम फ्लो चार्ट के हिसाब से देखेंगे स्टार्ट होता है इनिश इइ होता है कंडीशन चेक हुई और कंडीशन हमेशा के लिए ट्रू है स्टेटमेंट्स रन है अपडेट हो रहा है कंडीशन हमेशा के लिए ट्रू है स्टेटमेंट अपडेट कंडीशन स्टेटमेंट अपडेट कंडीशन हमेशा ऐसे ही आप घूमते जाएंगे और हमेशा कब तक जब तक आप बूढ़े हो जाएं आपके बच्चे हो जाएं बच्चों के बच्चे हो जाएं आप मर जाए ये लूप हमेशा चलता रहेगा अगर लाइट आ रही रही है तो ठीक बात है एग्जिट स्ट्रेटेजी जनरली इसमें क्या होती है अगर आपने इनफा लूप अपने आप से बनाया है तो आप ब्रेक या कोई सिमिलर गो टू तरह का बेसिकली स्टेटमेंट लगाकर यहां से बाहर निकल सकते हैं और ये बहुत ही ज्यादा रिसोर्स इंटेंसिव होता है हाई सीपीयू यूसेज अगर आप ये चलाकर अपने कंप्यूटर का टास्क मैनेजर खोल कर देखेंगे तो आपको दिखेगा कि कम से कम एक सीपीयू का कोर आपका 100% इस्तेमाल हो रहा है क्योंकि आपने उसको ऐसा काम दे दिया कि घूमता रहे घूमता रहे घूमता रहे घूमता रहे वो उसके अंदर गोल-गोल घूमता रहेगा उसको कभी भी वेट ही नहीं करना पड़ रहा किसी काम के लिए ऐसा नहीं कंप्यूटर हमेशा वेट करता है जनरली कंप्यूटर इज इन वेटिंग स्टेट क्योंकि आपने उसको काम नहीं दिया है एनफ तो यहां क्या होगा हमेशा ही वो घूमता रहेगा किसी भी चीज की वेट नहीं कर रहा है तो सीपीयू यूसेज बहुत ज्यादा हाई इसका पहुंच सकता है तो इंफाइटिंग लूप है तो ऑलरेडी आप आई थिंक काफी कुछ सीख चुके हैं ठीक है तो उसके बाद आ जाते हैं दोस्तों रिवीजन पर यहां पर हमने कर दिया अपना लूपिंग कंट्रोल भी खत्म कितना सारा हमने काम किया नीड फॉर लूप समझा फॉर लूप देखा वाइल लूप देखा माफ कीजिएगा लूप फॉर लूप देखा ब्रेक कंटिन्यू स्टेटमेंट देखे ऑड लूप हमने देख लिया डू वाइल लूप देखा और इनफाइनों हैं इनको हमको सॉल्व करना है और उसके बाद हम बढ़ेंगे हमारे नेक्स्ट चैप्टर की तरफ अरे अरे अरे रुक जाइए भाई चैलेंज का टाइम आ गया है करना क्या है देखिए दूसरा सबसे बड़ा चैप्टर हमने लूपिंग कितना इंपॉर्टेंट कांसेप्ट है ये हमने सीख लिया है इसको बिना प्रैक्टिस करे बेटा आगे जाया नहीं ही जा सकता है यहां चैलेंज शुरू होते हैं नंबर 31 से और कहां तक जा रहे हैं 49 तक जा रहे हैं यानी 19 चैलेंज यहां हमारे पास हैं अब आपके पास ऐसे बहुत सारे प्रोग्राम भी होंगे जोन इंटरव्यूज में भी पूछे जाते हैं कई बार एग्जाम्स में पूछे जाते हैं काफी पॉपुलर प्रोग्रामिंग प्रॉब्लम्स अब यहां पे हम सॉल्व करना स्टार्ट करेंगे तो एक बार लूप्स की प्रॉब्लम देखते हैं क्या-क्या है पहले हमारा क्या है मल्टीप्लिकेशन टेबल नंबर लेकर मल्टीप्लिकेशन टेबल प्रिंट करनी है तो हमने चैप्टर में भी किया था यहां आपको अपने आप हाथ से करना है उसके बाद क्या है सम ऑफ ऑल ऑड नंबर्स फ्रॉम 1 टू n ये भी हमने किया है सॉल्व करते हुए फिर राइट अ फंक्शन दैट कैलकुलेट्स द फैक्टोरियल यह भी हमने किया है ये सब क्या है आप बिना सॉल्यूशन देखे अपने आप आपको इनको करना है फिर क्या है क्रिएट अ प्रोग्राम दैट कंप्यूट्स सम ऑफ डिजिट्स ऑफ़ एन इंटी जर ये थोड़ा सा इंपॉर्टेंट है थोड़ा इसमें दिमाग लगाना पड़ेगा सोचिए कोई भी नंबर की सारी डिजिट्स का सम आप कैसे करेंगे इंडिविजुअल डिजिट्स का सम आपको प्रिंट करना है उसके बाद क्या है एलसीएम आपको निकालना है अगर इनके एग्जैक्ट फॉर्मूले आपको नहीं आते हैं डेफिनेशन नहीं आती है ग करिए देखिए एलसीएम क्या होता है अदर वाइज सॉल्यूशन वीडियो में तो आप इसको देख ही सकते हैं एलसीएम निकालना है जीसीडी यानी ग्रेटेस्ट कॉमन डिवाइजर निकालना है क्या करना है यही दो नंबर यूजर से कीजिए उनका एलसीएम प्रिंट करिए उनका जीसीडी प्रिंट करिए फिर क्या है एक नंबर इनपुट करिए और बताइए कि वो प्राइम नंबर है या नहीं फिर नंबर लीजिए और उसकी डिजिट्स को आपको रिवर्स करना है यानी अगर नंबर यूजर एंटर करता है 254 तो आपको वापस वहां पर लिखना है 452 डिजिट्स जो है वो रिवर्स हो जानी चाहिए उसके बाद फिना सीरीज देखिए बहुत इंपॉर्टेंट जो है फोनकी सीरीज का एग्जांपल होता है फिना सीरीज अगेन अगर नहीं पता है तो या तो थोड़ा सा ग करके एक बार पहले फना की सीरीज देख लीजिए वरना सॉल्यूशन वीडियो में पहले हम जो एक्सप्लेन करेंगे वो देखिएगा उसके बाद इसको अटेंप्ट करिए आर्मस्ट्रांग नंबर यह भी काफी पॉपुलर प्रॉब्लम है आर्मस्ट्रांग नंबर की डेफिनेशन भी आप देख सकते हैं नंबर पलिंड्रोम है या नहीं पलिंड्रोम का मतलब क्या होता है आ आ अगला आगे और पीछे एक समान यानी 121 इज पलिंड्रोम क्यों क्योंकि अगर आप बीच से काटे तो इधर और इधर सब बराबर है अब अगर मैं नंबर लूं 1 2 3 3 21 ये भी पलिंड्रोम है यानी इधर से और इधर से लेफ्ट से पढ़ें या राइट से पढ़ें जो नंबर ऑफ बेसिकली जो ऑर्डर ऑफ डिजिट्स है वो आपका सेम आने वाला है यह करिए उसके बाद फिर से पहला प्रोग्राम जो हमने किया था वही करना है बट इस बार आपको की हेल्प से करना है और नंबर ऑफ रोज जो है वो आप यूजर से इनपुट कराएंगे कि कितनी रोज दूं सेम पैटर्न में बनाता जाऊंगा अगर आप यूजर बोलता है 10 रोज तो आपको 10 रोज प्रिंट करनी है यूजर बोलता है 15 रोज तो आपको 15 रोज प्रिंट करनी है और आपको एक-एक करके ये तीनों के लिए करना है है ना काफी सारी प्रैक्टिस हम करने वाले हैं लूपिंग में उसके बाद अब आ गए स्पेसिफिक यानी डू वाइल लूप से आपको करना है क्या यूजर से तब तक नंबर एंटर कराते रहिए जब तक वो पॉजिटिव नंबर एंटर नहीं करता अगला यूजर से बेसिकली सम ऑफ ऑल नंबर्स देना है यूजर नंबर एंटर करता जाएगा सबका सम आपको देना है जब तक वह ज़ीरो नहीं देता जब वह ज़ीरो देगा तो फाइनल टोटल का सम करके आपको सम बेसिकली यूज़र को दे देना है फिर क्या है क्रिएट अ प्रोग्राम यूजिंग फॉर लूप से करना है आपको मल्टीप्लिकेशन टेबल पिछली बार हमने वाइल लूप से किया था इस बार फॉर लूप से करेंगे यूजिंग फॉर लूप टू डिस्प्ले इफ अ नंबर इज प्राइम र नॉट यहां फिर से प्राइम पर यहां फॉर लूप आपको यूज़ करना है क्रिएट अ प्रोग्राम यूजिंग कंटिन्यू टू सम ऑल पॉजिटिव नंबर्स एंटर्ड बाय द यूजर यानी यूजर बहुत सारे नंबर डाल रहा है सिर्फ पॉजिटिव नंबर्स का सम आपको यहां पर करना है फिर यूजिंग कंटिन्यू प्रिंट ओनली इवन नंबर सिर्फ इवन नंबर प्रिंट करिए बट कंटिन्यू का यूज़ आपको इसके अंदर करना है ठीक बात है लास्ट प्रोग्राम क्या है दैट कंटीन्यूअसली रीड्स इंटी जर्स फ्रॉम द यूजर एंड प्रिंट्स देयर स्क्वायर यानी यूजर से नंबर लेते रहिए और उनका स्क्वायर प्रिंट करते रहिए इंफाइटिंग स्टेटमेंट का यूज़ करना है कब जब यूजर -1 एंटर करेगा जब तक यूजर -1 एंटर नहीं करता आपको सिर्फ क्या करना है उनके स्क्वायर प्रिंट करते जाने हैं जब भी यूज़र -1 एंटर करें तो ब्रेक स्टेटमेंट यूज़ करके प्रोग्राम है बार-बार कहूंगा बिना प्रैक्टिस के आगे मत जाइएगा इन सबका सॉल्यूशन आपको सलूशन वीडियो में मिलेगा अगर आपको गिट अप का लिंक चाहिए तो सॉल्यूशन वीडियो में नीचे गिट अप का भी लिंक होगा जहां इन सबका आपको सॉल्व प्रोग्राम्स भी मिलेंगे अगर आपका रिटन से काम चलता है तो ठीक है पर अगर आपको ठीक से समझना है ठीक से देखना है सलूशन देखना है किस तरह से होना चाहिए तो आप सॉल्यूशन वीडियो का लिंक भी यहां पर क्लिक कर सकते हैं तो इन सबको कंप्लीट करिए एक बार एटलीस्ट ट्राई करिए उसके बाद चलते हैं नेक्स्ट टॉपिक की तरफ ऑलराइट तो दोस्तों चलिए स्टार्ट करते हैं हमारा अगला चैप्टर जिसका नाम क्या है फंक्शन एंड रिकर्स ठीक है तो मेन इंपॉर्टेंट चीज क्या है इसमें सबसे इंपॉर्टेंट चीज हम पढ़ने वाले हैं फंक्शन और सबसे लास्ट टॉपिक में हम देखेंगे रिकर्स भी रिकर्स कैसे यूज़ होता है कैसे इंटरव्यूज में एग्जाम्स में काफी ज्यादा पूछा जाता है बट बाकी हमारे यहां देखिए एक से लेकर नौ तक जो बेसिकली टॉपिक्स हैं वो किस चीज अ से रिलेटेड हैं फंक्शन से रिलेटेड हैं तो एक-एक करके स्टार्ट करते हैं और उम्मीद करते हैं कि इस चैप्टर के एंड तक हमको फंक्शन बहुत अच्छे से समझ आ जाएगा हम बहुत सारा यूज करने लगेंगे और ढेर सारे हमारे प्रैक्टिस के एग्जांपल्स करेंगे जिससे हमको फंक्शन एगजैक्टली कैसे यूज करना है ये बात हमको समझ आ जाए ठीक है देखिए मैं इससे पहले चैप्टर में बोलता रहा हूं कि वो सबसे इंपॉर्टेंट चैप्टर थे वो बेसिक के लिए बिल्कुल सबसे इंपोर्टेंट चैप्टर थे बट अगर अब आपको थोड़ा बड़ा कोड लिखना स्टार्ट करना है सिर्फ आपको अपने कॉलेज में दी जाने वाली लैब या आपके स्कूल में दिए जाने वाले प्रैक्टिकल के जो 10 155 प्रोग्राम में सिर्फ वो नहीं लिखने हैं उसके अलावा आप थोड़े बड़े प्रोजेक्ट्स करना चाहते हैं बड़ी चीजें लिखना चाहते हैं तो फंक्शन जो है बहुत ही ज्यादा क्रिटिकल आपके लिए हो जाता है ठीक है तो सबसे पहले समझते हैं जो फंक्शन फंक्शन में कर रहा हूं ये फंक्शन है क्या व्हाट इज अ फंक्शन देखिए अगर सबसे पहले शब्द का मतलब देखते हैं जभी भी कभी किसी चीज को समझना हो तो उसको नाम रखने वाले ने इस बात को फंक्शन ही क्यों बोला सबसे पहले ये सोचिए है ना तो फंक्शन तो पहले से एक इंग्लिश का वर्ड है कोई प्रोग्रामिंग का वर्ड तो है नहीं कोई नया वर्ड तो पैदा नहीं हुआ है तो नाम इसका फंक्शन क्यों रखा गया तो फंक्शन का बस ये मतलब होता है कि कोई भी एक ऐसा पीस ऑफ कोड है एक ऐसा ब्लॉक ऑफ कोड आप बना दीजिए जो एक स्पेसिफिक फंक्शन करता हो स्पेसिफिक काम करता हो ये हमारे यहां जो हिंदी यूपी में यूपी साइड में जो फंक्शन यूज होता है वो नहीं हमारे यहां फंक्शन का मतलब होता है पार्टी कि भाई किसी का फंक्शन हो रहा है वहां चलते हैं यह वाला फंक्शन क्या है किसी चीज का क्या फंक्शन है तो देखिए जैसे यहां हमने क्या एक छोटा सा एग्जांपल लिया है ये एक छोटा सा ट्रक है जो क्या बोल रहा है इसके पास ये दो आर्म्स हैं बोल रहा है माय फंक्शन इज टू ग्रैब इसका क्या फंक्शन है इसका फंक्शन है कि मैं कोई भी चीज को पकड़ सकता हूं इसका क्या फंक्शन है ये ऐसा ट्रक है जिसके अंदर सामान भरा जा सकता है तो क्या बोल रहा है माय फंक्शन इज टू हॉल हॉल का मतलब क्या होता है सामान एक जगह से दूसरी जगह लेके जाना ये क्या है छोटी सी मिनी लिफ्ट है बोल रही है माय फंक्शन इज टू लिफ्ट यानी मेरे ऊपर कोई भी सामान रखेंगे तो मैं उसको ऊपर पहुंचा दूंगी और यह इसके अंदर लाइट्स लगी हैं बोल रहा है माय फंक्शन इज जस्ट टू पार्टी जैसे हमारे बहुत सारे बच्चे यहां पर होंगे जिनका फ्राइडे सैटरडे संडे स्पेशली जो वर्किंग प्रोफेशनल हैं उनका फंक्शन सिर्फ एक ही होता है फ्राइडे नाइट को स्पेशली क्या करना पार्टी करना ऐसे है ना चलिए तो बेसिकली फंक्शन का यहां आपको पहले शब्द का मतलब समझ आना चाहिए फंक्शन का क्या मतलब है कोई एक स्पेसिफिक काम करना अब देखिए इसका क्या स्पेसिफिक काम है कोई चीज उठानी है तो उसको बुलाइए कोई ची आई मीन पिक करके ग्रैब करके उठानी है तो कोई चीज को हवा में उठाना है यानी एक दो फ्लोर ऊपर उठाना है तो उसको बुलाइए सामान को इधर से उधर ले जाना है तो उसको बुलाइए पार्टी करने का मने है बहुत काम कर लिया है तो इसको बुलाई नहीं फंक्शन का क्या मतलब है फंक्शन का मतलब है कोई एक स्पेसिफिक काम जो किया जा सके तो जब आपका कोई कोड ऐसा हो जो एक स्पेसिफिक काम कर पाए यानी आपने चार पांच लाइन का 10 लाइन का 20 लाइन का मान लीजिए कोड लिखा जो एक स्पेसिफिक काम को करता है तो क्या होगा उसको एक फंक्शन बोला जा सकता है या उसको एक फंक्शन में रैप किया जा सकता है अब उसके ओबवियसली कुछ रूल्स होंगे किस चीज को फंक्शन बोल सकते हैं किसको नहीं बोल सकते वो हम देखेंगे तो डेफिनेशन क्या है इसकी पहली बात तो कोई एक स्पेसिफिक काम करता हो और इसका मेन एडवांटेज क्या है ब्लॉक ऑफ रीयूबेन यानी इसका फायदा क्या है अब देखिए ये मशीन आपने देखा होगा हमारे यहां भी आसपास जब किसी का घर बन रहा है कोई भी काम हो रहा है तो जेसीबी मशीन आती है है ना जेसीबी कंपनी की एक मशीन आती है वो खुदाई करती है और चली जाती है देखिए क्या बताइए अगर क्या आपको घर बनाना है तो क्या मुझे जेसीबी मशीन खरीदनी पड़ेगी नहीं क्या होगा जेसीबी मशीन मैं किराए पर लेकर आऊंगा उसको इस्तेमाल करूंगा जो खुदाई करनी है वो खुदाई करूंगा और जेसीबी मशीन वापस कर दूंगा इसका एडवांटेज क्या है इसका एडवांटेज है कि हर आदमी को जेसीबी मशीन खरीदनी नहीं पड़ रही क्यों क्योंकि जेसीबी मशीन शेयर्ड है शेयर्ड मतलब बहुत बहुत सारे लोग जब भी उनको अपनी खुदाई करनी होती है तो जेसीबी मशीन को बुलाकर ले जाते हैं एगजैक्टली सेम चीज अप्लाई होती है आपके कोड के लिए भी अगर आपने मान लीजिए एक कोड लिख लिया इससे पहले जैसे हम बहुत सारा कोड लिख कर आए हैं नंबर को स्वप करने के लिए दो नंबर को ऐड करने के लिए अब मैंने वो कोड लिख लिया अब अगर किसी और को दो नंबर ऐड करने हैं तो क्या उसको दोबारा वो कोड लिखना चाहिए या वो मेरा लिखा हुआ कोड यूज कर सकता है और नंबर को ऐड करने की तो बहुत छोटी सी बात हो रही है बहुत कॉम्प्लेक्शन से फोटो को कैसे कन्वर्ट करना है फोटो कैसे खींचना है अब क्या हर ऐप जो बना रहा है उसको पहले पूरा का पूरा जो बेसिकली कैमरा ऐप है वही लिखना चाहिए समझने के लिए कि कौन से लेंस से कैसे फोटो खींचा जाएगा नहीं होता क्या है कि आप अगर कोई स्पेसिफिक काम कर रहे हैं तो उसका आप एक फंक्शन लिख दीजिए और उसके बाद वो काम जिस जिस को भी कराना होगा वो आपके फंक्शन का जो कोड है उसको इस्तेमाल कर लेगा तो ब्लॉक ऑफ रीयूबेन का क्या मतलब है जिसको बार-बार यूज किया जा सके इसका मेन प्रिंसिपल क्या होता है बहुत जगह आपको मिलेगा पूछा भी जाता है कई जगह ड्राई प्रिंसिपल यानी डोंट रिपीट योरसेल्फ आपको हमेशा क्या याद रखना है कोड लिखते हुए जहां भी ऐसा लग रहा है कि यार मैं सेम टाइप का कोड ऊपर भी लिख के आया था और नीचे भी लिख के आ रहा हूं यानी सेम काम जो मैंने पहले किया था वो काम मुझे अभी दोबारा करना पड़ रहा है तो मुझे कभी भी अपने आप को रिपीट नहीं करना है मैं क्या करूंगा उस कोड को निकालकर एक फंक्शन बना लूंगा अलग से और वो फंक्शन जैसे ही मैं बना लूंगा तो क्या होगा उसको मैं बार-बार इस्तेमाल कर सकता हूं जब भी मुझे सिमिलर काम कराना है जब भी मुझे दो नंबर को ऐड कराना है तो मैं क्या करूंगा उसको इस्तेमाल कर लूंगा दो नंबर को मैं ऐड कराने का ओबवियसली एक एग्जांपल ले रहा हूं ऐसा कोई भी काम है मैं क्या कर करूंगा उस फंक्शन को इस्तेमाल कर लूंगा और उसको वो वाला जो पूरा काम है उसको दोबारा नहीं लिखूंगा इसके देखिए बहुत सारे एडवांटेज हो एडवांटेजेस होते हैं धीरे-धीरे हम सब एडवांटेजेस में जाएंगे बट अभी के लिए मेन प्रिंसिपल क्या है डोंट रिपीट योरसेल्फ यानी एक टाइप का कोड दोबारा कभी नहीं लिखना है और क्या इसके एडवांटेजेस हैं ऑर्गेनाइजेस कोड एंड परफॉर्म्स स्पेसिफिक टास्क्स यानी आपके कोड का जो ऑर्गेनाइजेशन है वो बेटर हो जाता है नेमिन रूल की अगर बात करें तो जो वेरिएबल का नेमिन रूल था वही वेरिएबल का नेमिन रूल यहां भी चलने वाला है जैसे स्नेक तो अगर मेरे मेरा मल्टी सिंगल वर्ड है तो सिंगल वर्ड होगा अगर मल्टी वर्ड फंक्शन है तो मैं क्या करूंगा उनको अंडरस्कोर से ऐड कर दूंगा जो मैं अपने वेरिएबल में करता आ रहा था तो एक्चुअली वेरिएबल का नाम और फंक्शन का नाम दोनों ही लिट बेसिकली दोनों ही आइडेंटिफिकेशन मयां हर सदी में सेम रहती हैं हमको तो ऐसा लगता है बचपन में जितने काम मम्मियोंर से कराए वो शायद किसी ने नहीं कराए तो बच्चा क्या है इस केस में एक फंक्शन है मम्मी क्या करती थी मम्मी अगर मान लीजिए खाना बना रही है कुछ कर रही है उसके बाद बैठ गई या कुछ और करने लगी तो आपको बोलेगी थोड़ी देर बाद जब सीटी लगेगी कि क्या जाओ बेटा गैस बंद कर दो तो उस केस में आप क्या है आप एक फंक्शन है मम्मी क्या कर रही है आपका यूज कर रही है जब भी उनको गैस बंद करानी होगी वो आपसे गैस बंद करा देंगी कभी गैस कम कराएंगे कभी मार्केट से कुछ सामान मंगाए कभी पंखा चला दे पंखा बंद कर दे वैसे ये काम पिताजी ज्यादा करते हैं कि वो रूम में भी बैठे होंगे तो बोलेंगे पंखा चलाओ पंखा बंद करो एक गिलास में पानी लेकर आओ तो क्या होगा या आप एक स्पेसिफिक कोई कमांड दे रहा है आपको और उस कमांड के ऊपर आप एक फंक्शन कर रहे हैं जो आपको पहले से आता है वो फंक्शन आप यहां पर परफॉर्म कर रहे हैं है ना तो ये भी एक एग्जांपल है फंक्शन का क्या कि बेटा जरा गैस बंद कर दीजिए तो ये तो हुई इन जनरल फंक्शन की बात ये अभी तक सी लैंग्वेज का स्पेसिफिक इसमें कुछ नहीं है अब अगर हम किसी भी लैंग्वेज की बात करें तो सब लैंग्वेजेस में जो फंक्शन है उसका यही मतलब होता है कुछ जगह फंक्शंस को मेथड भी बोला जाता है कुछ लैंग्वेजेस में जैसे जावा है ऑब्जेक्ट ओरिएंटेड लैंग्वेजेस हैं वहां फंक्शन को मेथड भी बोलते हैं बोले कुछ भी मतलब जो है वो यहां मोटा-मोटा सेम ही रहता है तो अभी हमको ये तो समझ आया कि फंक्शन है क्या पर सी में फंक्शन हम इस्तेमाल कैसे करेंगे तो देखिए सबसे पहले फंक्शन इस्तेमाल करने के लिए सी के अंदर आपको क्या लगाना पड़ता है आपको लिखना पड़ता है फंक्शन प्रोटोटाइप अभी देखिए हमारे यहां नोट्स में आपको बहुत सारी चीजें दिख रही हैं देख के भी घबराना नहीं है एक-एक करके देखेंगे चीजें समझ आएंगे अब देखिए पूरा जब मैं फंक्शन आपको पढ़ाना शुरू करूंगा तो सारी चीजें हमको पहली बार में लिखनी पड़ेंगी पर सारी चीजें हमको पहली बार में समझनी नहीं है हम धीरे-धीरे करके उनको समझेंगे ठीक है तो सबसे पहले बात करते हैं फंक्शन प्रोटोटाइप की फंक्शन प्रोटोटाइप का मतलब क्या है तो अगर मैं बात करूं डेफिनेशन की कि फंक्शन प्रोटोटाइप का क्या मतलब है दस स्पेसिफाइड फंक्शन नेम रिटर्न टाइप एंड पैरामीटर्स विदाउट द बॉडी यानी यह फंक्शन की तीन चीज़ें डिफाइन करता है फंक्शन का नाम फंक्शन का रिटर्न टाइप और फंक्शन के पैरामीटर्स अगर आप यह तीन चीज़ें एक बार में डिफाइन कर रहे हैं और उस बॉडी नहीं दे रहे यानी बता नहीं रहे कि फंक्शन को कैसे काम करना है अभी बस मैं डिक्लेयर कर रहा हूं कि इस टाइप का फंक्शन होगा इस टाइप का फंक्शन फक्शन एजिस्ट करता है ये मान लीजिए वो पेंपलेट है जो आप कभी मान लीजिए अगर कुछ चीजें खरीदने जाते हैं कोई मशीन खरीदने जाते हैं वाशिंग मशीन की इसकी आजकल वैसे बहुत ज्यादा होता नहीं है वेबसाइट पर आप देखते हैं बट मान लीजिए गाड़ियां खरीदने जाते हैं तो क्या होता है एक पहले पेंपलेट होती है उसमें आइटम बनी होती है और उसके फीचर्स लिखे होते हैं तो ये एक टाइप से मान लीजिए उस पेंपलेट की तरह है कि ये एक्चुअल मशीन नहीं है एक्चुअल गाड़ी नहीं है बट ये उसकी सारी चीजों को डिस्क्राइब करती है इसका फायदा क्या है देखिए जो सी का कंपाइलर है वो क्या करता है वो लाइन बाय लाइन चलता है ये फंक्शन प्रोटोटाइप हरड लैंग्वेज में नहीं होता जैसे अगर जावा की बात करें तो जावा में प्रोटोटाइपिंग की जरूरत नहीं होती है बट सी में होती है प्रोटोटाइप का क्या मतलब है आप पहले जो सी कंपाइलर है उसको ये बताएंगे कि मेरा फंक्शन किस तरह का दिखता है किस तरह का दिखता है मतलब उसका क्या नाम है मेरे फंक्शन का वो क्या चाहता है तो अगर हम इन दोनों चीजों की बात करें बाकी दोनों चीजें क्या हैं एक है रिटर्न टाइप और एक है पैरामीटर सबसे पहले अगर पैरामीटर या आर्गुमेंट इसको बोल सकते हैं फिलहाल के लिए अगर आर्गुमेंट और रिटर्न टाइप की बात करें तो पहले इनका मतलब समझ लेते हैं कि आर्गुमेंट का क्या मतलब है और रिटर्न टाइप का क्या मतलब है अब देखिए यहां एक छोटा सा मासूम सा बच्चा ये आपके और मेरे जैसा बच्चा इसको ये पता भी नहीं कि इसको यहां पर एक फंक्शन बना दिया गया है अब ये एक फंक्शन है और यह क्या करता है इसको दिए जाते हैं पैसे मम्मी के द्वारा कि यह लो ₹ और एक पैकेट दही लेकर आओ यह जाता है चप्पल पहनता है दुकान पर जाता है मोहल्ले वाली वहां जाकर पैसे देता है दही लेता है और वापस लाकर दही अपनी मम्मी को दे देता है यह बहुत ही मासूम है मुस्कुरा रहा है क्योंकि इसको लग रहा है शायद इसको भी उसमें से एक टॉफी लेने को मिल गई बट ये नहीं समझा कि इसका फंक्शन बनाकर इस्तेमाल किया गया है और यह किस टाइप का फंक्शन है इसके आर्गुमेंट क्या है आर्गुमेंट और पैरामीटर अभी आप सेम चीज समझिए आगे चलके उन दोनों का डिफरेंस भी समझेंगे बट मोस्टली इन दोनों को आर्बिट्रेरी यूज किया जाता है कहीं आर्गुमेंट बोला बोला जा रहा है या पैरामीटर बोला जा रहा है इन दोनों का मतलब सेम ही समझा जाता है हालांकि स्लाइटली डिफरेंस है जो हम आगे चलके देखेंगे बट बहुत सारी जगह प इनको सिनोनिम असली यूज कर लिया जाता है तो अगर आर्गुमेंट की बात करें आर्गुमेंट वो है जो फंक्शन को कोई काम करने के लिए चाहिए अगर मम्मी आपको पैसे ना दें और बोले जाओ दही लेकर आओ तो क्या करोगे भाई दुकान पर जाकर पैसे तो देने पड़ेंगे तो आप आप ये बोलोगे मम्मी यह फंक्शन परफॉर्म करने के लिए गैस तो मैं बिना पैसे के बंद कर सकता हूं बट अगर आपको मुझसे दही मंगानी है तो आपको मुझे पैसे देने पड़ेंगे जैसे सिमिलर अगर हम एक्चुअल एग्जांपल ले ले यहां मान लीजिए हमने एक सम का एग्जांपल लिया हम एक फंक्शन डिक्लेयर करने की कोशिश कर रहे हैं सम जो क्या करता हो दो नंबर का सम करता हो तो अब ये क्या करेगा ये बोलेगा भाई अगर आपको मेरे से दो नंबर का सम कराना है तो आपको मुझे दो नंबर तो देने पड़ेंगे आप ये तो नहीं कह सकते कि जाओ दो नंबर का सम करके आओ और दो नंबर उसको बताओ भी नहीं तो यहां पर क्या है आर्गुमेंट या पैरामीटर का मतलब है कोई स्पेसिफिक काम करने के लिए जो डाटा आपको पहले प्रोवाइड करना पड़ेगा फंक्शन को उसको बोलेंगे आर्गुमेंट या पैरामीटर जैसे दही लाने के लिए पैसे की जरूरत पड़ेगी और ये रिटर्न टाइप क्या है ये रिटर्न टाइप वो है जो वो आपको वापस लाकर देगा तो सम मेथड क्या करेगा सम मेथड ये बोल रहा है कि भाई मेरा नाम सम है मुझे दो इंटी जर दिए जाते हैं और मैं एक इंटी जर आपको वापस करता हूं देखिए ये ध्यान रखिएगा पैरामीटर में नाम देना जरूरी है पर रिटर्न टाइप में नाम नहीं दिया जाता क्योंकि रिटर्न टाइप हमेशा एक ही होता है सिंगल होता है पैरामीटर कितने भी हो सकते हैं आप ये बोल सकते हैं मैं पांच पांच नंबर का सम परफॉर्म करता हूं मुझे पांच नंबर आप दीजिए और जब आप मुझे पांच नंबर देंगे तो मैं वापस आपको एक सिंगल नंबर लाकर दे दूंगा ये हमारे पास रिक्वायरमेंट है ये हमारे पास आप मान लीजिए बंदिश है कि आप वापस सिर्फ एक चीज लाकर दे सकते हैं फंक्शन से ठीक है अब यहां पर आप बेसिकली दही के साथ-साथ बचे हुए छुट्टे पैसे वापस नहीं करेंगे 500 500 के इतने सारे नोट हैं सभी के सभी आप अपनी पॉकेट में रखने वाले हैं और मम्मी को बोलने वाले हैं मम्मी फंक्शन की क्या है रिक्वायरमेंट है दो चीज तो वापस नहीं कर सकता प्राइमर आपने दही मंगाई थी तो ये पकड़ी है दही और बाकी सारे पैसे होते हैं मेरे ठीक है मजाक की बात अलग है बट यहां आपको समझना क्या है जो भी कोई फंक्शन होगा अब देखिए सिंटेक्स जो है वो इस तरह से लिखा जाएगा पहले आप लिखेंगे नाम नाम से पहले आएगा रिटर्न टाइप रिटर्न टाइप क्या है ये वो डेटा टाइप है जो आप रिटर्न करने वाले हैं कौन सा डेटा टाइप आप रिटर्न करने वाले हैं वो आप यहां डेटा टाइप देंगे फिर अपना नाम देंगे फिर लगाएंगे दो ब्रैकेट्स दो बेसिकली राउंड ब्रैकेट्स और बीच में आप कॉमा लगा लगा कर देंगे पैरामीटर्स जो आपको चाहिए हमने बोला यहां दो हमको इंटी जर चाहिए एक इंटी जर a कॉमा इंटी जर बी और उसके बाद आपका लग जाएगा सेमी कूलन अब देखिए ये चीज मैंने जहां भी लिख दी तो सी कंपाइलर को पता चल जाएगा कि भाई एक सम नाम का जो फंक्शन है वो कहीं ना कहीं एजिस्ट करता है अभी हमने सम बताया नहीं कि हम कैसे कर रहे हैं अभी हमने बताया नहीं कि इन दो नंबर को ऐड कैसे करना है अभी हम बस ये बता रहे हैं कि इस टाइप का कोई फंक्शन एजिस्ट करेगा तो अगर कोई और इस टाइप का फंक्शन कॉल कर ले तो आप निश्चिंत रहिएगा इस फंक्शन की डेफिनेशन डेफिनेशन मतलब इसका एक्चुअल कोड आपको आगे जाकर कहीं मिलने वाला है ठीक है तो प्रोटोटाइपिंग का सिर्फ इतना मतलब है कि आप एक बार य डिक्लेयर कर देते हैं कि फंक्शन दिख दिखने में कैसा है मान लीजिए एक बच्चे की फोटो है बच्चा नहीं बच्चे की फोटो है कि दिखने में कैसा है उसकी क्या मेन मेन प्रॉपर्टीज हैं बट एक्चुअल उसकी डेफिनेशन क्या है वो अभी यहां पर नहीं पता है तो पर्पस क्या है इनेबल्स टाइप चेकिंग एंड फॉरवर्ड डिक्लेरेशन ऑफ फंक्शंस यानी इससे अगर आपने यहां टाइप में कोई गड़बड़ करी है जब कोई आपका फंक्शन कॉल कर रहा है तो कंपाइलर ये ठीक से देख सकता है कि यार सम फंक्शन ने बोला है मुझे दो इंटी जर चाहिए जो भी कॉल करेगा उसको दो इंटी जर देने पड़ेंगे अगर वो दो इंटी जर नहीं देगा तो कंपाइलर उसको वहीं पर पकड़ लेगा टाइप चेकिंग करेगा कि नहीं ये फंक्शन दो इंटी जर चाह अगर आपको ये फंक्शन कॉल करना है सम नाम का तो आपको दो इंटी जर ही देने पड़ेंगे साथ-साथ फॉरवर्ड डिक्लेरेशन मतलब ऐसा भी हो सकता है कि मैंने सम की डेफिनेशन जो है सम का जो एक्चुअल कोड है वो बहुत बाद में जाकर दिया हो है ना प्रोग्राम के एकदम एंड में दिया हो बट कॉल मुझे किसी ने पहले कर लिया हो तो अगर कोई मुझे पहले कॉल करना चाहता है तो फंक्शन प्रोटोटाइप देना कंपलसरी याद रखिएगा सी में प्रोटोटाइपिंग ऑप्शनल है कंपलसरी नहीं है है ना प्रोटोटाइपिंग किस केस में कंपलसरी है जब आपका फंक्शन का डेफिनेशन आने से पहले यूज हो रहा हो देखिए जब बहुत बड़े प्रोजेक्ट्स हो जाते हैं 100 हज मान लीजिए मेरे पास फंक्शंस हैं तो आप ये डिसाइड नहीं कर सकते कि क्या पहले है क्या बाद में है मैं हमेशा जिसको को जिसको भी कॉल करने वाला हूं उसकी डेफिनेशन हमेशा पहले दूं कोड ऑर्गेनाइज इस तरह से नहीं किया जाता तो इन मोस्ट ऑफ़ द केसेस आप ये मान के चलिए कि हम हर केस में प्रोटोटाइप को अगर मैं बहुत छोटा कोड नहीं लिख रहा हूं जहां एक या दो ही फंक्शंस हैं तो हर केस में प्रोटोटाइप को लिख रहा हूंगा ताकि सी को ये पता रहे कि भाई फंक्शन प्रोटोटाइप है तो इसकी डेफिनेशन कहीं ना कहीं मिलने वाली है तीसरी बात क्या बोलता है इंपॉर्टेंट यहां पर पैरामीटर के नाम भी ऑप्शनल है यानी मैं यहां सिर्फ इतना भी लिख सकता था इंटी जर कॉमा इंटी जर आईटी कॉमा आईटी दैट्ची यहां देना कंपलसरी नहीं है और ये कहां लिखा जाता है जनरली सी फाइल के स्टार्टिंग में लिखा जाता है तो चलिए एक दो मैं आपको यहां पर लिख कर दिखाता हूं फंक्शन प्रोटोटाइप हम लिखेंगे कैसे य ये एग्जांपल देखिए हमने और दिया है मान लीजिए आप एक फंक्शन लिखना चाहते हैं जो क्या करता हो 100 तक की गिनती लिखता हो हमने उसको बोला जाओ स्क्रीन पर एक से लेकर 100 तक प्रिंट करो क्या इसको कुछ चाहिए नहीं ये गैस बंद करने जैसा है हमने पहले ही बोल दिया 100 कि 100 तक ही लिखना है हमेशा आपको तो इसको कोई भी पैरामीटर नहीं चाहिए क्योंकि इसको पैरामीटर नहीं चाहिए इसने सीधे दो ब्रैकेट लगाए जिनके बीच में कुछ नहीं लिखा और सीधे सेमीकलन लगा दिया यानी इसकी जो पैरामीटर लिस्ट है इसके जो आर्गुमेंट है वो एमटी है और ये क्या कह रहा है मैं वापस लाकर क्या देता हूं ये कह रहा है मैं वापस भी लाकर कुछ नहीं देता तो उसके लिए आप क्या यूज कर सकते हैं वॉइड वॉइड का मतलब है मैं वापस लाकर कुछ भी नहीं देने वाला हूं यह हो गया इस फंक्शन का प्रोटोटाइप तो चलिए इनको हम एक्चुअली डिफाइन कर लेते हैं जाकर यहां आएंगे यह तो हमारा पुराना चैप्टर है पुराना चैप्टर कर देंगे बंद और अब हम एक यहां पर नया चैप्टर स्टार्ट करेंगे जिसका नाम क्या होगा सिक्स फंक्शन एंड िक है ना और इसके अंदर क्या करेंगे पहली फाइल हम स्टार्ट करेंगे जिसको हम बोलेंगे प्रोटोटाइप या मान लीजिए फंक्शन ही लिख लेते हैं बाकी चीज भी इसी फाइल के अंदर लिखने वाले हैं मैं लिख देता हूं इसका नाम फंक्शन ड सी अब हम इसको कर देते हैं बंद सबसे पहले क्या करेंगे श इंक्लूड एसटीडी आड ए एंड देन हम लिखेंगे इंट मेन रिटर्न जीरो है ना तो ये हमारा इट मेन हो गया अब देखिए क्या है हमको फंक्शन प्रोटोटाइप देना है तो उसने क्या बोला था नोट्स में कि जनरली सी फाइल के स्टार्टिंग में ये किया जाता है तो हेडर फाइल के बाद हम अपने प्रोटोटाइप दे सकते हैं तो मान लीजिए एक मेरा प्रोटोटाइप क्या है काउंट टू 100 मैं एक ये मेथड लिख रहा हूं देखिए हमने क्या किया वन की जगह एक्सक्लेमेशन लगा दिया जो कि एक गड़बड़ है स्पेशल कैरेक्टर्स नाम में अलाउड नहीं है और देखिए नाम भी हमने कैसे दे दिया हमने को दूसरा कन्वेंशन यूज़ कर लिया है मल्टीपल वर्ड्स को हमको किस तरह से कंबाइन करना चाहिए मल्टीपल वर्ड्स को हमको अंडरस्कोर के साथ कंबाइन करना चाहिए तो एक ये मेरा फंक्शन प्रोटोटाइप दूसरा मेरा प्रोटोटाइप क्या है मान लीजिए मैं एक सम वाला मेथड भी लिखना चाह रहा हूं हम नाम यहां पर स्किप करते हैं जो कि हमको अलाउड है तो मैंने दोनों के दोनों फंक्शन के प्रोटोटाइप जो है वो डिक्लेयर कर दिए हैं मैंने बोला भाई एक काउंट टू 100 वाला फंक्शन होने वाला है और एक सम नाम का फंक्शन होने वाला है काउंट ू 100 ना कोई आर्गुमेंट नहीं लेता और कुछ भी वापस नहीं देता और सम नाम का फंक्शन दो इंटी जर को एज आर्गुमेंट लेता है एज पैरामीटर लेता है और एक इंटी जर को यहां पर रिटर्न करता है अगर मैं इसको रन करके देखूं मान लीजिए मैंने कर दिया रन कोड देखिए कुछ भी नहीं हुआ क्यों क्योंकि अभी हमने य ना तो कुछ इंट मेन में लिखा है ना इन डिक्लेरेशन का कोई मतलब है जब तक आप इन फंक्शन की या तो डेफिनेशन ना दें या उनको इस्तेमाल ना करें है ना दोनों ही चीजें जरूरी हैं तो वापस आ जाते हैं हमने फंक्शन प्रोटोटाइप का मतलब समझ लिया कि हमने सी जो कंपाइलर है उसको डिक्लेयर कर दिया कि भाई इस टाइप के दो फंक्शन होने वाले हैं तो किसी को यूज करना है तो यूज़ करने दीजिएगा अगर कोई गलत तरह से यूज करे मेरे सम फंक्शन के अंदर कोई फ्लोट पास करने की कोशिश करें मेरे सम फंक्शन के अंदर कोई और कुछ पास या चार नंबर पास करने की कोशिश करें तो उसको वहीं पर पकड़ लेना और उसको यह चीजें पास नहीं कर करने देनी है मेरा जो फंक्शन है सम वो सिर्फ दो इंटी जर ही एक्सेप्ट करता है ठीक बात है ये हो गया दोस्तों फंक्शन प्रोटोटाइप अब फंक्शन प्रोटोटाइप के बाद हम आते हैं सबसे इंपॉर्टेंट चीज पर जिसका नाम क्या है फंक्शन सिंटेक्स के अंदर ही डेफिनेशन डेफिनेशन का क्या मतलब है यानी फंक्शन एक्चुअली जो बेसिकली उस उसकी जो अब मैं डेफिनेशन को बार-बार कैसे एक्सप्लेन करू मुझे समझ नहीं आ रहा बट डेफिनेशन का मतलब है उसकी एक्चुअल बॉडी यानी यहां देखिए आप अभी हम देख रहे थे ये था फंक्शन का अब जो हमने पहले डिक्लेयर किया फंक्शन का प्रोटोटाइप जब आप फंक्शन की डेफिनेशन देंगे तो भी आपको प्रोटोटाइप यहां पर दोबारा काइंड ऑफ लिखना पड़ेगा इस बार सेमीकलन बस नहीं लगाएंगे और नाम भी देने पड़ेंगे कि आपके जो वेरिएबल आपको कोई पास करेगा उनका आप क्या नाम रखना चाहते हैं है ना और उसके बाद आप क्या करेंगे ऐसे दो कल्ली ब्रेसेज लगाएंगे और उसके बाद देंगे आप अपनी डेफिनेशन तो यहां मान लीजिए हमने ऐड नाम का फंक्शन लिखा है इसके अंदर क्या है देखिए ऐड इसका नाम है रिटर्न टाइप इसका इंट है पैरामीटर्स हैं इसके x और y और यहां हमने क्या किया इंटी जर सम = x + y एक वेरिएबल डिक्लेयर किया सम जिसमें हमने लिख दिया x + y और देन रिटर्न कर दिया है सम रिटर्न स्टेटमेंट क्या है ये एक नया स्टेटमेंट हमको देखने के लिए मिल रहा है नया कीवर्ड देखने के लिए मिल रहा है वैसे हम रिटर्न ज़ीरो कब से करते आ रहे हैं इंट मेन के अंदर बट अब आपको समझ आ रहा होगा इंट मेन भी एक नॉर्मल फंक्शन है अगर हम वापस आकर देखें अपने इंट मेन को तो देखिए ये भी तो नॉर्मल फंक्शन ही है ये है मेरा रिटर्न टाइप ये है मेरा नाम पैरामीटर्स इसके कुछ है नहीं तो पैरामीटर लिस्ट क्या है पैरामीटर लिस्ट है एमटी उसके बाद लगते हैं दो कर्ली ब्रेसेज और लास्ट में आता है रिटर्न कि भाई जो भी मैंने बोला है अगर मैं बोल रहा हूं कि मुझे इंटी जर रिटर्न करना है तो मेरा रिटर्न टाइप इंटी जर रिटर्न रिटर्न मतलब फंक्शन से वापस क्या आएगा ये वो दही है है ना तो अगर ये बेसिकली मैं इंटी जर बोल रहा हूं तो यहां से मुझे एक नंबर रिटर्न करना है तो इंट मन में भी हम कब से यही करते आ रहे हैं मेन भी एक नॉर्मल टाइप का फंक्शन ही दोस्तों है है ना तो अब हम क्या करेंगे जो वेरिएबल नाम वेरिएबल के नाम के लिए हमने चीजें लिखी थी अ वेरिएबल के नाम के लिए मैंने रूल्स लिखे थे वो सेम यहां पर अप्लाई होते हैं इन दोनों फंक्शन की हम भी डेफिनेशन लिखने की कोशिश करते हैं तो अब हम क्या करेंगे हमने प्रोटोटाइपिंग तो कर दी उसके बाद हम देंगे डेफिनेशन तो मान लीजिए मैं इन के बाद डेफिनेशन देता हूं मैं क्या लिखूंगा फिर से लिखूंगा वॉइड काउंट ू 100 इस बार मैं लगाऊंगा ब्रैकेट्स दो कली ब्रैकेट्स दो कल्ली ब्रैकेट लगाने का क्या मतलब है हमें देना देने वाला हूं डेफिनेशन तो अगर काउंट टू 100 लिखना है यानी स्क्रीन पर एक से लेकर 100 तक की डेफिनेशन हमको लिखनी है तो मैं क्या कर सकता हूं यहां लगा लेते हैं एक फॉर लूप जो हम ऑलरेडी पढ़ कर आए हैं इंट i इक्वल टू मान लीजिए वन से स्टार्ट करते हैं i < 100 i+ प् अब इन चीजों को मैं बार-बार एक्सप्लेन नहीं कर रहा हूं ये हम ऑलरेडी पढ़ के आए हैं काफी सारी प्रैक्टिस इस की कर चुके हैं वन से लेकर 100 तक देखिए 200 करना है तो लेसन इक्वल टू 100 कर देते हैं और इसको हम कर देते हैं प्रिंट तो मैं बोलूंगा प्रिंट f य हम क्या लगाएंगे एक स्पेस लगा कर दे देते हैं परसेंटाइल d ताकि दोनों दो नंबर्स के बीच में हमेशा ग गैप रहे और i को करते जाते हैं प्रिंट इतना हमने कर दिया ये डेफिनेशन इसकी पूरी हो गई है मेन के अंदर जाते हैं एक बार और इसको कॉल भी मैं आपको करके दिखा देता हूं तो हम बोलेंगे काउंट 200 देखिए कंपाइलर ने ऑटो कंप्लीट कर दिया और जहां कॉल करते हैं वहां भी क्या आते हैं ये दो ब्रैकेट्स आते हैं है ना तो अगर मैं बीच में आपको स्किप करके दिखाऊं आगे नेक्स्ट स्लाइड में भी हम क्या देखने वाले हैं कि फंक्शन को आप कॉल कैसे करेंगे तो कैसे कॉल करेंगे इवोक बाय यूजिंग द फंक्शन नेम फॉलो बाय दो ब्रैकेट सो जहां आप कॉल करेंगे देखिए ये हमने डिफाइन किया है काउंट ू 100 है ना और इसको जहां कॉल करेंगे वहां सेम दोबारा फंक्शन का नाम लिखेंगे ये दो ब्रैकेट्स लगाएंगे और सेमीकलन लगा देंगे तो क्या होगा वो फंक्शन वहां पर कॉल हो जाएगा अब देखिए तीन चीजें हो गई थोड़ा सा कंफ्यूज ंग हो रहा होगा ये है प्रोटोटाइप जहां हमने डिफाइन किया कि इस टाइप का फंक्शन एजिस्ट करेगा ये है एक्चुअल फंक्शन का डेफिनेशन यानी यहां मैं ने क्या किया नाम तो दोबारा डिफाइन किया ही मतलब दोबारा ये बताया ही कि मैं कौन से वाला फंक्शन डिफाइन कर रहा हूं मैंने दो कली ब्रैकेट्स लगाकर उसकी एक्चुअल कोड जो मैं उस फंक्शन के अंदर लिखना चाहता हूं एक्चुअल बॉडी जो उस फंक्शन की है वो भी मैंने डिफाइन की और ये कॉलिंग वो है जहां आप इसका इस्तेमाल कर रहे हैं यानी ये मेन में भी हो सकता है कहीं और भी हो सकता है एक बार हो सकता है 10 बार हो सकता है है ना ये मैं आपको करके दिखाता हूं मान लीजिए हम यहां आ जाते हैं वापस काउंट 200 मैंने लिख लिया है इसको एक बार रन करके देख लेते हैं देखिए इस बार जब हमने रन किया तो क्या हुआ वन से लेकर 100 तक के नंबर्स यहां पर प्रिंट हो गए मैं एक बार क्लीन करके आपको दोबारा रन करके दिखा देता हूं क्या हुआ देखिए वन से लेकर 100 तक के जो नंबर हैं वो सारे के सारे यहां पर प्रिंट हो गए सर इसका फायदा क्या हुआ ये दो लाइनें मैं डायरेक्टली मेन के अंदर लिख सकता था काम हो जाता देखिए मान लीजिए आपको ये काम चार बार करना हो या और किसी फंक्शन में करना हो और किसी फाइल में करना हो तो भी आप ये कर सकते हैं देखिए मैं फिर से इस इसको एक बार क्लीन करके दिखाता हूं ताकि पुराने वाले आउट आउटपुट से आप कंफ्यूज ना हो देखिए वन से लेकर 100 तक पहली बार प्रिंट हुआ फिर वन से लेकर 100 तक दोबारा प्रिंट हुआ फिर वन से लेकर 100 तक दोबारा प्रिंट हुआ और फिर वन से लेकर 100 तक चौथी बार बार प्रिंट हुआ देखिए यहां पर अब हो क्या रहा है हम क्या पढ़ रहे थे फंक्शन भी एक टाइप का कंट्रोल स्टेटमेंट ही है कंट्रोल मतलब अभी देखिए जब हम लूप में देख रहे थे अभी हमने क्या-क्या देखा था इससे पहले हमने बेसिकली इफ और स्विच स्टेटमेंट्स देखे थे जहां पर क्या होता था सेलेक्ट होता था कब कौन सा कोड रन होगा कब कौन सा कोड रन नहीं होगा बेस्ड ऑन कंडीशंस उसके बाद हमने लूप्स देखे लूप क्या करते थे बेस्ड ऑन कंडीशन एक ही जगह घूमते रहते थे फंक्शन भी क्या करते हैं अब देखिए जब एग्जीक्यूशन शुरू हुआ होगा तो सबसे पहले इंट मेन आया इंट मेन के अंदर आते इसने सबसे पहले देखा कि यार काउंट टू 100 नाम के फंक्शन को कॉल किया गया है याद रखिएगा कॉल किया गया है काउंट 200 नाम के फंक्शन को कॉल किया किया गया है तो यहीं से फ्लो कहां जाएगा लाइन नंबर सेवन से सीधा जाएगा लाइन नंबर 14 के ऊपर काउंट 200 काउंट 200 पर जाएगा फिर 15 पर जाएगा 16 पर जाएगा 17 पर जाएगा अब यहां क्योंकि आपने लूप लिखा है तो यहां गोल गोल गोल गोल घूमता रहेगा 100 बार इसके अंदर जब ये फंक्शन खत्म होगा यानी लास्ट लाइन पर आप इसकी आएंगे यहां से वापस आ जाएगा लाइन नंबर सेवन के ऊपर सेवन के बाद फिर अगली लाइन पर आएगा फिर आपने कोई फंक्शन कॉल कर दिया फिर वहां जाएगा उसका काम करेगा फिर वापस आएगा तो एक तरह से ये रन तो आपके इंट मेन कोही करना चाह रहा है बट हमने फ्लो को जो है फिल से फिर से अल्टर कर दिया है प्रोग्राम के क्योंकि हम बीच-बीच में इसको क्या बोल रहे हैं कि वहां जाओ पहले वो काम कर कर आओ पहले वहां जाओ वो काम करके आओ है ना तो क्या है फंक्शन कॉल का मतलब है हम पहले उसको बोल रहे हैं कि मेरा अगर काम आगे पूरा करना है तो पहले जाइए जहां पर ये फंक्शन का डेफिनेशन है उसमें जाके पहले उस फंक्शन को पूरा एग्जीक्यूट करके वापस आइए उसके बाद मेरे अगले स्टेटमेंट पर जाइएगा तो ये भी एक टाइप का क्या है कंट्रोल स्टेटमेंट ही है हालांकि इसको कंट्रोल स्टेटमेंट समझा नहीं जाता बट मैं आपको ये बताने की कोशिश कर रहा हूं कि ये भी आपके प्रोग्राम के फ्लो को अल्टर ही करता है है ना तो हमने एक डेफिनेशन तो देख ली थी दूसरी डेफिनेशन अभी हमने नहीं लिखी अपनी दूसरी डेफिनेशन भी लिख लेते हैं क्या हमने एक दूसरा फंक्शन डिक्लेयर किया था सम है ना तो मैं एक बार फिर से डिफाइन कर लेता हूं इंट सम इस बार नाम देना जरूरी है तो मान लीजिए मैं नाम दे देता हूं इंट फर्स्ट एंड इंट सेकंड यह दो नंबर का सम जो है रिटर्न करेगा यहां मैं डिक्लेयर कर लेता हूं इंट मान लीजिए एडिशन इज इक्वल टू फर्स्ट प्लस इन दोनों का सम होगा और यह रिटर्न करेगा जीरो देखिए पिछली बार हमने कुछ रिटर्न नहीं किया जब ये वाला फंक्शन मैंने लिखा तो यहां पर हमने कुछ भी रिटर्न नहीं किया था पर यहां मैंने रिटर्न किया सॉरी रो की जगह हम क्या रिटर्न करेंगे एडिशन यहां मैंने एडिशन को रिटर्न किया क्यों क्योंकि देखिए इस फंक्शन ने तो पहले ही डिक्लेयर किया था कि भाई मैं कुछ भी रिटर्न नहीं करता हूं मेरा रिटर्न टाइप क्या है वॉइड है तो इसको रिटर्न लिखना जरूरी नहीं था पर यहां जो सम है यह बोलता है कि भाई मैं एक इंटी जर रिटर्न करने वाला हूं तो अगर मैं यहां से ये जो रिटर्न स्टेटमेंट है मान लीजिए इसको कमेंट आउट कर देता हूं इसको डिलीट कर देता हूं तो क्या करेगा यहां कंपाइलर मेरे को बेसिकली वार्निंग देगा बताएगा कि भाई आपका जो सम फंक्शन है वो कुछ भी रिटर्न नहीं कर रहा है एक बार इसको रन करके देख लेते हैं अगर मान लीजिए मैं इसको रन कर रहा हूं तो क्या होगा देखिए यहां पर एक एरर आ गई ये क्या बोल रहा है एक्सपेक्टेड आइडेंटिफिकेशन होने लगेगी ठीक बात है तो यहां आपको ये समझ आ गया कि जो भी कोई रिटर्न टाइप एक्चुअली डिक्लेयर करेगा उसको रिटर्न करना जरूरी होगा कोई वॉइड करेगा तो उसको रिटर्न करना जरूरी नहीं होगा अब हम क्या करेंगे यहां पर हम सम को भी कॉल कर सकते हैं सम को अब देखिए जब मैं कॉल करूंगा हमने देखा था अगर कोई बिना अ बेसिकली बिना पैरामीटर वाला फंक्शन था तो मैंने दो डायरेक्टली ब्रैकेट लगाकर उसको कॉल कर लिया था बट अब जब मैं यहां सम कॉल करने की कोशिश कर रहा हूं तो ये बोल रहा है टू फ्यू आर्गुमेंट इन फंक्शन कॉल यानी आप सम को भाई सम ने डिक्लेयर किया है कि मुझे दो इंटी जर चाहिए तो दो इंटी जर दीजिए तभी आप सम को कॉल कर सकते हैं मैंने मान लीजिए दो इंटी जर दे दिए फोर एंड फाइव मैं लगा देता हूं सेमीकलन तो सब चीजें ठीक हो गई कंपाइलर को कोई दिक्कत नहीं है सब ठीक चल रहा है बट पॉइंट यह है मुझे फायदा क्या हुआ फर और फाइव का सम करके आएगा कहां तो उसके लिए आपको क्या करना पड़ेगा आपको दूसरा कोई इंटी जर डिक्लेयर करना पड़ेगा जिसको आप इस तरह से डिक्लेयर कर सकते हैं अब देखिए सम सम नाम हो गया है मान लीजिए मैं इसका नाम ऐड कर देता हूं है ना तो मैंने इसका नाम ऐड कर दिया मैंने बोला भाई सम में चार और पांच भेजना सम फंक्शन कॉल में और वो जो भी रिटर्न आए ये भी एक एक्सप्रेशन की तरह काउंट होगा जो हम पहले पढ़कर आए थे वो इस पूरी की जगह जहां फंक्शन कॉल हुआ उसकी पूरी की जगह वो रख देगा तो फोर और फाइव का एडिशन आएगा नाइन और नाइन आ जाएगा यहां पर वापस और ऐड के अंदर आ जाएगा नाइन तो अगर मान लीजिए मैं करता हूं प्रिंट एफ और यहां मैं दे देता हूं कि भैया द सम इज परसेंटाइल डी और यहां दे देते हैं हम ऐड है ना और ये जो ऊपर हमने चार बार कॉल कर दिया था इसको एक ही बार कर देते हैं ताकि आपके बाद में नोट्स के लिए भी अच्छा रहे साफ रहे इसको हम कर देते हैं क्लीन फिर से करते हैं रन तो देखिए क्या हुआ पहले तो ये सारे के सारे प्रिंट हो गए और उसके बाद बेसिकली एक से लेकर 100 तक जो हमने पहले कोड लिखा यानी पहले फंक्शन कॉल में और उसके बाद ये स्टेटमेंट प्रिंट हुआ और लिखा आया द सम इज नाइ तो रिटर्न कैसे आया अब आपको ये भी समझ आना चाहिए कि जो रिटर्न आएगा फंक्शन कॉल में उसको यूज कैसे करना है तो उसको आप किसी वेरिएबल में असाइन करिए किसी फॉर्मूले में डालिए किसी और के एज आर्गुमेंट पास कर दीजिए आपके ऊपर है एक चीज यहां और दिखानी है देखिए जरूरी नहीं कि आप इसको पहले वेरिएबल में ले यहां मैं क्या कर सकता हूं यहां मैं डायरेक्टली भी लिख सकता हूं रिटर्न फर्स्ट प्स सेकंड जहां वेरिएबल लिख सकते हैं वहां आप एक्सप्रेशन भी लिख सकते हैं तो बोल सकता हूं फर्स्ट और सेकंड को करो जो आए आपके पास फाइनल रिजल्ट उसको सीधा उठाकर रिटर्न आप कर दीजिए ठीक है अभी वो थोड़ा सा पढ़ने में थोड़ा सा ज्यादा आसान लगता है सिंपल लगता है इसलिए पहले उसको वेरिएबल में ले लेंगे और वेरिएबल को हम रिटर्न कर देंगे तो हमने समझ ली तीनों चीजें क्या-क्या हमने देख लिया फंक्शन का प्रोटोटाइप कैसे डिफाइन करना है हमने देख लिया फंक्शन का सिंटेक्स यानी अब एक्चुअल जो डेफिनेशन है वो कैसे डिफाइन करना है और फंक्शन को कॉल कैसे करना है एक बात यहां पर मैं आपको और बता दूं क्या बता दूं कि हमने सम को इस्तेमाल कर लिया है काउंट टू 100 हो गया है ठीक बात है है ना हां जो जो हमको बताना था हम यहां पर कवर कर चुके हैं एक चीज जो हमने ऑलरेडी दो चीजें ऑलरेडी हमने काइंड ऑफ कवर कर ली है कैसे करनी है बट वो भी हम यहां पर डिस्कस कर लेते हैं क्या पहला तो रिटर्न स्टेटमेंट रिटर्न स्टेटमेंट अभी आपने देख लिया आपको समझ आ गया क्या है ये एक कीवर्ड है और सेंड्स अ वैल्यू बैक फ्रॉम फंक्शन जैसे कि एग्जांपल क्या है एक गिलास पानी लेकर आओ मम्मी कहती है ग्लास पानी लेकर आओ तो आपको उस केस में क्या चाहिए देखिए अलग-अलग तरह के फंक्शंस हैं एक गिलास पानी लेकर आने देखिए जब हमने सिंपल एग्जांपल लिया था कि बेटा गैस बंद कर दि तो गैस बंद करने में ना मम्मी ने आपको कुछ दिया ना आपने मम्मी को कुछ दिया आपने कुछ काम तो किया बट आपने वापस लाकर तो कुछ नहीं दिया तो वो एक ऐसा फंक्शन होगा जो ना ही तो कोई आर्गुमेंट लेता है ना ही तो कोई पैरामीटर्स लेता है और उसका रिटर्न टाइप भी वॉइड है कौन सा जब आप गैस बंद करने गए थे अगर मम्मी बोलती है कि बेटा एक गिलास पानी लेकर आओ तो पानी लेकर आने में क्या है मम्मी ने आपको दिया तो कुछ नहीं पानी लेकर आने के लिए बट आपने वापस लाकर एक गिलास पानी मम्मी को जरूर दिया तो ये वो फंक्शन है जो लेता तो कुछ नहीं है ब रिटर्न करता है है ना तो ये फंक्शन क्या है व्हाट कैन रिटर्न वैल्यू वेरिएबल कैलकुलेशन आप कुछ भी रिटर्न कर सकते हैं और जब भी कोड एंड हो रहा है वहीं पर आपको रिटर्न करना होगा एक चीज जो यहां समझने की है वो ये कि बेसिकली जब भी ये लिखा हुआ आएगा क्या लिखा हुआ आएगा जब भी रिटर्न स्टेटमेंट आएगा वहीं पर जो कोड है वो एगजैक्टली इमीडिएट जो है वो क्या हो जाएगा एंड आपका हो जाएगा ठीक है और आपको क्या करना है प्रेफर रिटर्निंग वैल्यूज ओवर ग्लोबल वेरिएबल ये अभी हम बाद में डिस्कस करेंगे कि कैसे आप सेम जो काम आप रिटर्न से कर रहे थे वो आप ग्लोबल वेरिएबल के जरिए भी कर सकते थे बट आपको जनरली क्या करना ना चाहिए वैल्यूज रिटर्निंग को प्रेफरेंस देना चाहिए है ना तो एक बार चलिए ये भी मैं आपको चलाकर दिखा देता हूं कि इस बात का क्या मतलब है ये हम कैसे कर सकते हैं कि हम बेसिकली ग्लोबल वेरिएबल का इस्तेमाल करें और हम रिटर्न को अवॉइड करें और ये हमको क्यों नहीं करना चाहिए चलिए जल्दी से कोड में जाके ये भी एक बार देख लेते हैं तो देखिए मैं यहां क्या कर सकता था राद देन मैं सम से कुछ रिटर्न करूं हम क्या करते हैं हम वापस आते हैं और सम को डिक्लेयर करते हैं एज अ वॉइड है ना कि सम बेसिकली दो चीजें लेता तो है दो नंबर लेता तो है बट रिटर्न कुछ नहीं करता उसके बाद क्या करते हैं इसको भी वॉइड कर देते हैं है ना देखिए जो मैं प्रोटोटाइप में डिक्लेयर करूंगा वही मुझे यहां भी डिक्लेयर करना होगा और उसके बाद मैं रिटर्न नहीं करता मैं दूसरा काम क्या कर सकता हूं अभी तक देखिए वेरिएबल हमने सब अंदर डिक्लेयर किए हैं मैं क्या करता हूं ये जो इंट एडिशन है इसको मैं उठाकर कहां ले जाऊंगा इसको मैं उठाकर ले जाऊंगा बाहर यानी ग्लोबल डिक्लेरेशन कहां मैंने डिक्लेयर कर दिया उसको सब फंक्शंस के बाहर डिक्लेयर कर दिया यहां पर अब क्योंकि मैंने इसको सारे फंक्शंस के बाहर डिक्लेयर कर दिया ये हा सारे के सारे फंक्शंस में एक्सेसिबल हो हो जाएगा अभी अब इसका स्कोप क्या हो गया है जो स्कोप की बात होती है पहले हमने स्कोप की बात की है स्कोप का इसका स्कोप कितना हो गया है इसका स्कोप हो गया है पूरा का पूरा जो मेरा सी का फाइल है वो पूरे के पूरे में बेसिकली जो अ वेरिएबल है यूज़ हो सकता है तो मैं क्या कर सकता हूं यहां पर मुझे सम को कॉल करने की जरूरत बेसिकली ऐड के साथ कॉल करने की जरूरत नहीं है सम क्या कर रहा है सम ये बोल रहा है कि भाई आप मुझे दो नंबर दीजिए और मैं उनका एडिशन जो है वो एक एडिशन नाम के वेरिएबल में जाकर स्टोर कर दूंगा यानी मैं डायरेक्ट वापस आपको कुछ नहीं दूंगा मैं वहीं काम कर दूंगा ये कहां कुछ कुछ कैसा केस हो गया बेसिकली गैस बंद करने वाला केस हो गया कि आपने वहां जाकर कुछ किया तो बट आपने वापस लाकर कुछ नहीं दिया है ना इसका यह मतलब नहीं कि आपने कुछ काम नहीं किया तो समने क्या यहां काम कुछ नहीं किया नहीं समने अपना काम पूरा किया और जाकर सेव कहां कर दिया एडिशन के अंदर और उसके बाद क्योंकि देखिए जो भी अब ये मेथड कॉल कर रहा है वो कुछ रिटर्न तो एक्सपेक्ट कर नहीं रहा तो किसी वेरिएबल में इसको सेव नहीं कर सकता तो नॉर्मल मेथड की तरह इसको कॉल करेगा चीजों को पास करेगा और उसके बाद एक्से एक्सपेक्ट करेगा कि क्या हो गया होगा वो जो मेरा फाइनल सम है वो एडिशन के अंदर आ गया होगा इसने एडिशन के अंदर लिख दिया होगा और इसको यहां पर यूज कर लेगा तो एक बार इसको दोबारा से क्या करते हैं चलाकर देख लेते हैं क्या सब चीजें ठीक से चल रही हैं अभी सब चीजें ठीक से नहीं चल रही हैं क्योंकि क्या बोलता है एक बार चेक कर लेते हैं एक बार फिर से रन करते हैं शायद कोई टेंपरेरी एरर है कोड में कोई एरर नहीं है फिर से इसको रन करके देखते हैं देखिए इस बार चल गया शायद कुछ बफर की ऐसी कोई प्रॉब्लम हो गई कोई टेंपरेरी इशू था देखिए सम जो है वो एज इट इज आ गया है द सम इज नाइन है ना तो आपको यहां पर क्या समझ आ रहा है कि बेसिकली सम तो यहां पर नाइन ही आ रहा है ना हम दो बार भी करें दो बार सम सम जो है वो 9 नहीं आ रहा है पहले जो कर रहे थे वो भी नाइ नहीं आ रहा है तो यहां हमने क्या किया यहां हमने रिटर्न नहीं किया यहां हमने क्या किया यहां हमने ग्लोबल वेरिएबल का इस्तेमाल कर लिया कि ग्लोबल वेरिएबल में इसको बोल दिया कि भाई आप यहां रख देना जैसा आपने पुरानी पिक्चरों में देखा होगा ना कि किडनैपर बोलता है एक काम करना पैसे वहां उस वाले डब्बे में डाल देना और मैं जाकर वहां से पैसे ले लूंगा तो वहां पर वो जो डब्बा क्या है जो कचरे के डब्बे में वो पैसे डालते हैं जनरली वो क्या है वो एक ग्लोबल वेरिएबल है दोनों को पता है कि दोनों एक चीज की लोकेशन यहां होने वाली है और दोनों ही उसका फायदा उठाते हैं इसका नुकसान क्या है देखिए इसके काफी सारे नुकसान होते हैं पहली बात तो अब ये जो एडिशन है सबके लिए अवेलेबल है जो काउंट 200 है ये भी इसको यूज़ कर सकता है है ना तो ये सबके लिए अवेलेबल हो गया दूसरा क्या अगर ये सम वेरिएबल तीन चार बार कॉल होगा तो ये एडिशन बार-बार क्या होता जाएगा रिराइज होता जाएगा तो हो सकता है सम एक पर्सन ने कॉल किया हो दूसरे ने कॉल किया हो तीसरे ने कॉल किया हो उसके बाद पहले वाला अपना रिजल्ट देखने जाए अगर उसके बाद पहले वाला अपना रिजल्ट देखने गया तो इतने क्या होगा एडिशन ओवरराइट हो चुका होगा क्योंकि सम जितनी बार भी कॉल होगा बार-बार उसका जो फाइनल रिजल्ट है वो एडिशन में ओवरराइड कर रहा है तो इसलिए यहां पर आपके नोट्स में क्या पॉइंट लिखा हुआ था प्रेफर रिटर्निंग वैल्यू ूज ओवर ग्लोबल वेरिएबल ग्लोबल वैलू वेरिएबल को हमको प्रेफर नहीं करना और एक लास्ट चीज हमको यहां पर क्या दिखानी थी देखिए हमने यहां पर मेथड्स को कॉल पहले किया है और उनकी जो डेफिनेशंस हैं वो बाद में दी गई हैं पहले तो इस एडिशन वाले काम को वापस कर देता हूं ये आई थिंक आपके नोट्स में इंपॉर्टेंट नहीं है ये ऐसे ही रहना चाहिए है ना इंटी जर इंटी जर वाला रहना चाहिए मैं दूसरी बात आपको क्या दिखा रहा था देखिए हमने काउंट 200 और सम को क्या किया है पहले प्रोटोटाइपिंग दी है फिर उनको कॉल किया है और डेफिनेशंस इनकी बाद में दी है हम यह कर पाएं इसीलिए जो प्रोटोटाइपिंग देना है वो कंपलसरी है मैं एक काम क्या कर सकता हूं मैं इनको कर देता हूं कमेंट और फिर से एक बार आपको कोड रन करके दिखाता हूं तो हम क्या करते हैं एक बार वापस चलते अपने कमांड लाइन परक वो थोड़ा सा रिलायबल तरीका है यहां से जाएंगे टर्मिनल पर है ना और हम चलते हैं सिक्स फंक्शन के अंदर जो फंक्शन है मेरा इसको क्या कर लेते हैं दोबारा से कंपाइल कर लेते हैं तो बोलूंगा जीसीसी फड सीओ फड अब यह बोल रहा है कि कोई एरर है आई थिंक ये ऑटो सेव की प्रॉब्लम है जो बार-बार ये कोड को हर समय अपने आप सेव नहीं करता है जब तक हम रन नहीं कर रहे हैं अच्छा सॉरी जो मैं एरर आपको दिखाना चाह रहा था वो एरर अब आ रही है एरर क्या दिखाना चाह रहा था क्योंकि हमने डिक्लेरेशन को क्या कर दिया है प्रोटोटाइप को क्या सॉरी डिक्लेरेशन को नहीं प्रोटोटाइप को क्या कर दिया है हमने प्रोटोटाइप को कर दिया है कॉमेंट आउट तो प्रोटोटाइप को कमेंट आउट करते ही क्या हुआ है यह बोल रहा है कि आपने कॉल कर लिया एक अनडिक्लेयर्ड फंक्शन को यहां जब आप अब जब ये बेसिकली कोड रन करना स्टार्ट करेगा और काउंट 200 पर आएगा बोलेगा काउंट 200 नाम का तो कोई फंक्शन आपने लिखा ही नहीं काउंट 200 आपने कैसे कॉल कर लिया तो इस केस में आपको क्या करना पड़ेगा इनको उठा कर के जो हमारे दोनों फंक्शंस हैं इसको आपको ऊपर लिखना होगा अगर आप चाहते हैं कि आप बेसिकली जो प्रोटोटाइपिंग है उसको क्या कर दें उसको अवॉइड कर दें तो आप हमेशा पहले लिखेंगे पहले फंक्शन की पूरी की पूरी डेफिनेशन देंगे तब उसको इस्तेमाल करेंगे अगर मैं दोबारा यहां इसको रन करना चाहूं तो देखिए इस बार सक्सेसफुली बेली कंपाइल हो गया है अब मैं इसको रन करना चाहूं तो यहां ये रन भी हो जाएगा देखिए पहले आपको सक्सेसफुल कंपाइलेशन दिखा देता हूं सक्सेसफुल कंपाइलेशन हो गया अब अगर रन मुझे करना है तो बोलूंगा ड फंशन आउट और क्या हुआ देखिए एक से ले लेकर 100 तक यहां काउंटिंग भी आ गई और उसके बाद क्या हुआ दमज ना भी यहां पर प्रिंट हो गया है है ना तो या तो बेसिकली आप प्रोटोटाइपिंग दीजिए और उसके बाद कोई परवाह नहीं पहले लिखिए बाद में लिखिए या आप प्रो बेसिकली हमेशा कोड जो फंक्शन उसका डेफिनेशन पहले देंगे और उसके बाद उसको इस्तेमाल अ उसके बाद ही उसको इस्तेमाल करेंगे रिकमेंडेशन प्रोटर टाइपिंग लिखें ताकि आपको बाकी बाद में ऑर्डर की परवाह ना करनी पड़े बाद में भी कोई आपके कॉर्डर का बेसिकली कोड का ऑर्डर ऊपर नीचे कर दे तो बेसिकली फंक्शन किसी को ऊपर किसी को नीचे कर दे तो उससे आपका कोड जो है चलना बंद ना हो जाए ठीक है तो ये हो गया हमारा रिटर्न स्टेटमेंट भी हमने देख लिया इसकी रिक्वायरमेंट भी हमने देख ली पासिंग वैल्यूज भी दोस्तों हम ऑलरेडी कर चुके हैं हमने देख लिया किस तरह से हमने फोर और फाइव को यहां से पास किया है ना देखिए हमने फोर को पास किया फाइव को पास किया एक बार इसको डिटेल में समझ लेते हैं यहां हुआ क्या जब आप यहां दो चीजें देते हैं आप यहां दो बेसिकली ये नंबर भी दे सकते हैं एक और एग्जांपल मान लीजिए मैं ले लेता हूं मैं यहां डिक्लेयर करता हूं इंट x सॉरी ये वाला जो प्रिंट है इसके बाद लिख लेते हैं मैं बोलता हूं इंट x = 9 एंड इंट y = 54 ठीक है अब मैं इनका भी सम कराना चाहता हूं तो बोल सकता हूं इंट z = सम x y उसके बाद मैं क्या करूंगा सेम जो प्रिंट स्टेटमेंट मैंने पहले किया था उसको मैं फिर से प्रिंट कर दूंगा इसमें हम क्या दे देते हैं बैल दे देते हैं क्योंकि वो हमेशा सेम लाइन में आ रहा है और ऐड की जगह इस बार मैं दे दूंगा सम क्या है z है ना इसको एक बार फिर से मैं कंपाइल करता हूं और फिर से आपको रन करके दिखाता हूं देखिए क्या हुआ इस बार ये पहले 100 तक काउंटिंग प्रिंट हुई फिर आया सम इज नाइ फिर आया सम इज 603 है ना तो देखिए मैं सम में जो यहां मैं पास कर रहा हूं इसको मैं क्या कर सकता हूं इसको मैं कोई डायरेक्टली बेसिकली जो लिटरल्स हैं इंटी जर लिटरल्स है वो पास कर सकता हूं कोई वेरिएबल पास कर सकता हूं कोई एक्सप्रेशन पास कर सकता हूं जो मेरा मन करे वो मैं पास कर सकता हूं और होगा क्या जैसे ही आपने यहां से दो वैल्यूज पास की मान लीजिए आपने फोर और फाइव पास किया तो फोर डाल दिया जाएगा पहले आर्गुमेंट यानी फर्स्ट के अंदर और फाइव डाल दिया जाएगा सेकंड आर्गुमेंट यानी सेकंड के अंदर तो यहां फर्स्ट में आ जाएगा फोर और फाइव आ जाएगा सेकंड में और उसके बाद आप इस सम के अंदर जहां पर भी इनको इस्तेमाल करना चाहते हैं उनको इस्तेमाल कर सकते हैं तो जो यहां डिक्लेरेशन का ऑर्डर होगा उसी तरह से वैल्यूज यहां एक-एक करके मैप होती जाएंगी जब आपने x और y पास किया तो x की वैल्यू चली जाएगी फर्स्ट के अंदर यानी फर्स्ट हो जाएगा ना और y की वैल्यू चली जाएगी सेकंड के अंदर यानी y बेसिकली सेकंड हो जाएगा 54 तो फर्स्ट होगा नाइन सेकंड होगा 54 आपका दोनों का सम जब करेंगे तो क्या आएगा 63 आएगा और 63 आपको यहां आउटपुट में दिख रहा है है ना तो बेसिकली पासिंग वैल्यूज का क्या मतलब है इनपुट वैल्यूज दैट अ फंक्शन टेक्स फंक्शन को जो जो इनपुट के लिए चाहिए वो क्या होगा आर्गुमेंट होगा पैरामीटर्स पुट वैल्यू इन टू फंक्शंस वाइल रिटर्न गेट्स द वैल्यू आउट फर्क इनमें दोनों में फर्क हमेशा याद रखना है पैरामीटर आर्गुमेंट क्या है वो वो है जो आपको चाहिए यानी पैसे मान लीजिए इस एग्जांपल में हमेशा ये पैसे और दही का एग्जांपल आप याद रखिए आर्गुमेंट या पैरामीटर क्या है आर्गुमेंट पैरामीटर वो पैसे हैं जो आपको चाहिए और दही वो है जो आप वापस लाकर देते हैं नेमिन कन्वेंशन क्या है नेमिन कन्वेंशन ज जैसे हमने बात की क्योंकि ये भी नॉर्मल वेरिएबल ही हैं जिनको आप यहां पर डिक्लेयर कर रहे हैं तो इनमें भी जो नॉर्मल नेमिन कन्वेंशन चल रहा है वही चलता रहेगा और मल्टीपल पैरामीटर्स भी आप दे सकते हैं तो फंक्शन में क्या है मोर देन वन पैरामीटर हो सकते हैं जो हमने देख लिया ओबवियसली हम यहां दो पास कर पा रहे हैं आपको 20 करने है आप 20 ऐड करिए आपको एक भी नहीं करना आप एक भी मत करिए इट डिपेंड्स ऑन टोटली जो क्या सिनेरियो है और आप उस फंक्शन की मदद से क्या आप वहां पर करना चाह रहे हैं अब आ जाते हैं लास्ट में इस डिबेट पर जो हमने अभी तक कितनी बार बात कर ली है कभी हम आर्गुमेंट बोल रहे हैं कहीं पैरामीटर बोल रहे हैं देखिए पहली बात तो याद रखिएगा आप वो जो थोड़े ग्रामर नाजी टाइप के लोग होते हैं ना कि कहीं किसी इंग्लिश में हल्की सी गड़बड़ हो गई कहीं किसी ने सेंटेंस लिखते हुए हल्की सी गड़बड़ कर दी तो पहले उसको वहीं पकड़ के जलील करना स्टार्ट कर देंगे कि भाई तुमने ये गलती कर दी देखिए गलतियां पॉइंट आउट करना इंप्रूव करना ठीक है बट ऐसा भी ना हो कि आप बात का मतलब ही भूल जाए भाई अगर आपको उसकी बात समझ आ रही है उनको आपकी बात समझ आ रही है तो बात आपकी हो पा रही है जो लैंग्वेज का काम है वो हो रहा है तो यहां भी वही है आर्गुमेंट और पैरामीटर बहुत लोग एगजैक्टली इनका मतलब नहीं समझते हैं कहीं आर्गुमेंट बोलते हैं कहीं पैरामीटर बोलते बोते हैं दोनों ही चलता है बट अगर हम टेक्निकल डेफिनेशन की बात करें तो जब आप फंक्शन की डेफिनेशन लिखते हैं जैसे आप हमने अभी ये सम फंक्शन डिफाइन किया जब आप सम की डेफिनेशन लिखते हैं तो उसको बोलते हैं पैरामीटर और जो एक्चुअल वैल्यूज फंक्शन कॉल के टाइम पे पास की जाती हैं उसको बोलते हैं आर्गुमेंट ठीक है तो आपको याद रखना है जहां मैंने दिया है जब मैं एक्चुअली फंक्शन डिक्लेयर कर रहा हूं तो मैं पैरामीटर डिक्लेयर करता हूं पैरामीटर बताता हूं मेरे को क्या-क्या चाहिए और जब कोई फंक्शन को आपके कॉल करेगा फाइनल उसका एक्चुअल यूज करेगा तो वो जो वैल्यूज पास कर रहा है उनको बोलते हैं आर्गुमेंट ठीक है तो पैरामीटर क्या है पैरामीटर वेरिएबल है इन फंक्शन डेफिनेशन एक्टिंग एज प्लेस होल्डर ये वो प्लेस होल्डर है बोल रहा है ए में कोई वैल्यू आएगी और बी में कोई वैल्यू आएगी कब जब सम फंक्शन को ही कॉल करेगा और आर्गुमेंट क्या है एक्चुअल वैल्यूज पास टू अ फंक्शन एट कॉल टाइम आर्गुमेंट वो है जो एक्चुअल वैल्यूज आपको कॉल के टाइम पर पास की जाती है तो इसमें इससे ज्यादा और दिमाग लगाने की बात नहीं है सिर्फ बेसिकली नोमेन क्लेचर की बात है आपको एक बार क्लियर हो जाए तो अच्छा है वैसे उसके अलावा भी इसमें बहुत ज्यादा दिमाग लगाने की आपको जरूरत नहीं है अब एक और चीज देखते हैं बड़ी इंपॉर्टेंट जिसका मतलब जिसका नाम क्या है कॉल बाय वैल्यू ये एक सी का कांसेप्ट है तो यहां पर थोड़ा सा समझना इंपॉर्टेंट है क्या सी में क्या होता है जब आप वैल्यूज पास कर रहे हैं जैसे अभी हम देखते हुए आए क्या कि जब मैंने फोर और फाइव पास किया तो फर्स्ट हो गया फोर और फाइव हो गया बेसिकली सेकंड हो गया फाइव है ना इसी तरह से जब मैंने x और y के साथ कॉल किया तो क्या हुआ फर्स्ट हो गया x x की जो वैल्यू है वो फर्स्ट में आ गई और सेकंड बेसिकली y की जो वैल्यू है वो सेकंड में आ गई सी ये बोलता है कि जब आप नॉर्मली इस तरह के फंक्शन लिखकर वैल्यूज पास करते हैं तो दे आर बेसिकली दिस पासिंग इज कॉल्ड कॉल बाय वैल्यू या वैल्यू कॉपी पासेस आर्गुमेंट कॉपी नॉट द ओरिजिनल ये आपको याद रखना है ओरिजिनल वैल्यू पास नहीं हुई है यानी देखिए जब फोर और फाइव था तो यहां तो कोई मतलब ही नहीं था बेसिकली फर्स्ट फोर हो गया 5 सेकंड हो गया परट जब x और x और y के साथ कॉल किया गया तो आप ये समझिए कि x यहां पास नहीं हुआ है x की वैल्यू यहां पर पास हुई है सर क्या डिफरेंस है बिल्कुल डिफरेंस है अगर मैं बोलूं कि x पास हुआ है तो अगर मैं इस फंक्शन के अंदर फर्स्ट मैं कोई भी चेंज करता हूं तो x के अंदर भी रिफ्लेक्ट होना चाहिए अगर x एज इट इज पास हुआ है तो बट अगर मैं बोलूं कि x की वैल्यू पास हुई है यानी इसने देखा अच्छा x की वैल्यू नाइन है तो फर्स्ट को भी नाइन वैल्यू दे देते हैं अब उसके बाद मैं फर्स्ट के साथ कोई भी हश्र करूं इसके साथ कोई भी काम करूं x को उस बात से कोई फर्क नहीं पड़ता यानी आपने क्या किया x की कॉपी बनाकर पास कर दी फर्स्ट को x की जो भी वैल्यू थी वो कॉपी बनकर फर्स्ट में आ गई y की जो भी वैल्यू थी वो कॉपी बनकर सेकंड में आ गई तो क्या है यह कॉपी वाला ही गेम है बोल रहा है कॉल बाय वैल्यू में क्या होता है आर्गुमेंट की कॉपी पास की जाती है ओरिजनल आर्गुमेंट पास नहीं किया जाता है सेपरेट होती है मेमोरी दोनों की इसकी मेमोरी अलग उसकी मेमोरी अलग देखिए हम कांसेप्ट को सबको पढ़ सकते हैं बट एक बार पहले एक बार एग्जांपल कर लेंगे तो आपको बहुत अच्छे से समझ आएगा हमने यके नोट्स में भी एग्जांपल दिया है एक स्वप करने का तो हम भी एक बार जरा स्पिंग ट्राई कर लेते हैं तो वापस आते हैं फंक्शन फाइल में हमको काम करते हुए बहुत समय हो गया एक नया यहां पर एक फाइल बना लेते हैं जिसका नाम हम देते हैं मान लीजिए स्प . स ठीक है फंक्शन को मैं कर देता हूं फिलहाल के लिए बंद और एक्सप्लोर को बंद कर देते हैं अब इसमें हम कोड लिखना स्टार्ट करते हैं देखिए इसके अंदर हम क्या लिखेंगे सबसे पहले इंक्लूड एडी एडी देखिए हमने आपने स्पिंग का जो फंक्शन है वो ऑलरेडी पहले लिख लिया होगा जो हमने सैंपल एक्सरसाइजस दी थी उसके अंदर है ना पर इसके अलावा भी हम यहां पर एक बार इसको दोबारा लिखने की कोशिश करते हैं एक मेथड में लिखने की कोशिश करते हैं तो मैं बोल रहा हूं है इंक्लूड एडी ए सबसे पहले यहां पर क्या करते हैं अपना इंट मेन लिख लेते हैं इंट मेन हमारा रिटर्न क्या करेगा भाई रिटर्न जीरो करेगा उसके बाद हमको लिखनी है पहले फंक्शन की डेफिनेशन तो देखिए अगर मैं स्पिंग ट्राई कर रहा हूं तो मैं दो नंबर तो रिटर्न करने सकता तो मैं क्या करूंगा बोलूंगा भाई मैं तो अंदर ही इसकी वैल्यू रिटर्न कर दूंगा तो स्प क्या करेगा स्प लेगा दो इंटी जर्स है ना तो मैं जहां दे रहा हूं अपना प्रोटोटाइप वहां मेरे को और कुछ भी देने की जरूरत नहीं है और बाद में मैं दे देता हूं फंक्शन की डेफिनेशन तो मैं क्या करूंगा स्वप इंटी जर फर्स्ट इंटी जर सेकंड मान लीजिए दो मैंने नाम दे दिए अब मेरे को क्या करना है फर्स्ट की वैल्यू सेकंड में डालनी है सेकंड की वैल्यू फर्स्ट में डालनी है तो क्या करते हैं एक थर्ड ले लेते हैं या टेंप ले लेते हैं टेंप माफ कीजिएगा टेंप इज इक्वल टू फर्स्ट है ना फर्स्ट की वैल्यू पहले हमने टेंप में डाल कर रख लिया फर्स्ट के अंदर क्या डाल देंगे फर्स्ट के अंदर डाल देंगे सेकंड जो नॉर्मल हमारा स्वप करने का तरीका है उसके बाद क्या करेंगे सेकंड के अंदर डाल देंगे टेंप ये इसी तरह है मान लीजिए अभी होली गई है होली पर एक बाल्टी में आपके पास लाल रंग है एक बाल्टी में हरा रंग है और मैं बोलता हूं दोनों बाल्ट के आपको क्या करने हैं कलर पलटने हैं यानी इस बाल्टी जिस बाल्टी में लाल है उसमें हरा होना चाहिए जिस बाल्टी में हरा है उसमें लाल होना चाहिए तो आप क्या करेंगे आप एक तीसरी बाल्टी लेकर आएंगे पहले पहली बाल्टी को को खाली करेंगे अब वो बाल्टी खाली हो गई है अब लाल वाली जो बाल्टी खाली हुई है उसमें हरे वाले का कलर डाल दें और जब जो हरे वाली बाल्टी खाली हो गई है उसमें जो आप तीसरी बाल्टी लेकर आए थे इसमें लाल कलर पड़ा हुआ है वो वापस उसी बाल्टी में डाल दें यही हमने यहां पर किया एक टेंपरेरी वेरिएबल लिया टेंपरेरी वेरिएबल में फर्स्ट की वैल्यू डाल दी फर्स्ट अब क्योंकि खाली हो गया है एक तरह से फर्स्ट की वैल्यू सेव हो गई है टेंप में तो फर्स्ट में सेकंड की वैल्यू डाल दी और अब क्योंकि सेकंड भी बेसिकली खाली हो गया है सेकंड की वैल्यू खाली नहीं हुआ है कॉपी बन गई है सेकंड की वैल्यू फर्स्ट में चली गई है तो अब सेकंड में हमने वापस टेंप डाल दिया तो क्या हुआ फर्स्ट और सेकंड जो है वो स्वप हो गए तो यहां क्या करते य इनको कर देते हैं प्रिंट तो बोलता हूं प्रिंट एफ फर्स्ट परसेंटाइल डी ए सेकंड परसेंटाइल य क्या दे देंगे य दे देंगे फर्स्ट एंड सेकंड ठीक है यह तो हो गई मेरी फंक्शन की डेफिनेशन अब मेरे को फंक्शन को कॉल करना है तो मान लीजिए दो पहले अपनी वैल्यू डिक्लेयर कर लेता हूं मान लीजिए एक्स मैंने डिक्लेयर किया 4 एंड वा मैंने डिक्लेयर किया से ठीक है अब मैं क्या करता हूं इनको प्रिंट कर लेता हूं प्रिंट f एक परसेंटाइल डी वा परसेंटाइल मैं क्या कर रहा हूं मैं इनकी वैल्यू यहां पर प्रिंट करने की कोशिश कर रहा हूं तो पास कर दूंगा एक्स एंडवा अब उसके बाद मैं कॉल करता हूं स्प मैंने कहा भाई अब स्प एक काम करो जरा एक्स और वा की वैल्यू को आप कर दीजिए स् और उसके बाद में इनकी वैल्यू को दोबारा प्रिंट करके देख लेता हूं कि स्प ने जो वैल्यू चेंज की व वैल्यू चेंज हुई भी या नहीं हुई है ना अब इसको हम कर लेते हैं कंपाइल कैसे करेंगे जीसीसी स्ड सी माइन स डॉट आउट बेसिकली कंपाइलेशन सक्सेसफुल हो गया यानी हमारे पूरे कोड में कहीं भी कोई गड़बड़ नहीं है अब इसको चलाकर देख लेते हैं डॉट स्ल स्प डॉट आउट देखिए क्या हुआ तो हमने बै स्ल ए नहीं दिए वो दे देते हैं जिससे थोड़ा सा यह दिखने में हमको आसानी रहे इंप्रूव हो जाए है ना एक बार इसको दोबारा से मैं चलाकर देख लेता हूं फिर से करते हैं कंपाइल फिर से करते हैं रन देखिए x की वैल्यू आई 4 वा की वैल्यू आई से है ना तो x की वैल्यू कहां गई x की वैल्यू गई फर्स्ट में y की वैल्यू गई सेकंड के अंदर पर जब हमने शॉपिंग कर ली मान लीजिए इसको भी मैं दो बार प्रिंट कर देता हूं एक बार शॉपिंग से पहले एक बार शॉपिंग के बाद है ना अगेन फिर से एक बार इसको रन करते हैं कंपाइल रन तो देखिए x की वैल्यू थी 4 y की वैल्यू थी सेवन जब हमने फंक्शन को कॉल कर दिया स्प को तो x की वैल्यू चली गई फर्स्ट में तो देखिए फर्स्ट हो गया फोर और y की वैल्यू चली गई सेकंड में तो सेकंड हो गया सेवन बिल्कुल ठीक बात है उसके बाद हमने की स्पिंग देखिए फर्स्ट की वैल्यू आफ्टर स्पिंग फर्स्ट की वैल्यू हो गई है सेवन और सेकंड की वैल्यू हो गई है फोर यही तो हम बिल्कुल चाहते थे वैल्यू एकदम स्वप हो गई है पर जब ये फंक्शन एंड हुआ और मैंने दोबारा से x और y की वैल्यू बेसिकली प्रिंट करी तो देखिए x और y की वैल्यू अभी भी चेंज नहीं हुई यानी x अभी भी 4 है y से है x अभी भी फर है y सेन है इसका क्या मतलब है इसका यह मतलब है कि जब x को यहां फर्स्ट में पास किया गया और y को यहां सेकंड में पास किया गया हमने फर्स्ट और सेकंड के साथ जो भी चेंजेज किए वो x और y में रिफ्लेक्ट नहीं हुए क्यों नहीं हुए ये बेटा इसलिए नहीं हुए क्योंकि x और y क्या है x और y एगजैक्टली पास नहीं हुए थे x और y की कॉपी पास हुई थी ये उसी तरह से है कि मान लीजिए टीचर एक क्वेश्चन पेपर लाई है ना और उसने फोटो कॉपी करके क्या किया आप सब बच्चों को क्लास में मान लीजिए 30 बच्चे हैं सब बच्चों को एक-एक पेपर दिया कि सब अपने-अपने पेपर पर सॉल्व करिए वर्क बुक टाइप का पेपर था इसी में आप मार्क करके मुझे दीजिए कौन-कौन से ऑप्शंस करेक्ट हैं या खराब है तो अभी बताइए जब आप अपनी कॉपी पर कुछ भी आंसर मार्क कर रहे होंगे तो क्या वो टीचर की कॉपी में भी रिफ्लेक्ट करेगा जो टीचर के पास मेन बेसिकली कॉपी थी क्या उसमें वो मेन टेक्स्ट बेसिकली टेस्ट की कॉपी थी क्या वो उसमें अपने आप आंसर टिक होते रहेंगे नहीं क्यों क्योंकि आप बोलेंगे सर मैं तो अपनी कॉपी में कर रहा हूं ना टीचर की कॉपी में कैसे चेंज होगा बिल्कुल वही यहां पर क्या हुआ है यहां पर आपको कॉपी पास की गई है x और y की वैल्यूज पास की गई हैं फर्स्ट और सेकंड में तो अब आप फर्स्ट और सेकंड में कोई भी बदलाव करें कोई भी चेंज करें वो ओरिजिनल कॉपी में इफेक्ट नहीं करेगा अब आकर वापस अपने देखते हैं हम कांसेप्ट सब थोड़ा सा और समझ आएगा यानी आर्गुमेंट की कॉपी पास होती है ओरिजिनल आर्गुमेंट पास नहीं होता है सेपरेट मेमोरी यानी पैरामीटर्स यूज डिस्टिंक्ट मेमोरी लोकेशंस तो अगर मैं मेमोरी के अंदर की बात करूंगा तो बेसिकली x और y अलग जगह सेव्ड होंगे और फर्स्ट और सेकंड का उनसे कोई मतलब नहीं होगा फर्स्ट और सेकंड अलग जगह सेव्ड होंगे ओनली चीज क्या हो रही है इनकी वैल्यू कॉपी करी जा रही है एट द टाइम ऑफ स्पिंग ठीक है इससे फायदा क्या होता है इससे फायदा होता है डाटा सेफ्टी यानी ओरिजिनल डाटा ऑलवेज रिमेंस अनचेंज्ड आपने मान लीजिए अपना डटा किसी फंक्शन को पास कर दिया जरूरी नहीं कि सारे फंक्शन आपने खुद लिखे हो फंक्शन हो सकता है किसी बाहर वाले ने भी लिखे हो तो उससे क्या एडवांटेज होगा उससे आपको ये पता है कि मैंने इसको वैल्यू जरूर पास की है बट ये अंदर जाके कुछ भी गं मचा ले मेरी वैल्यू चेंज नहीं होंगी मेरी वैल्यू खराब नहीं होंगी डायरेक्ट मॉडिफिकेशन यानी आप डायरेक्ट जो बेसिकली आर्गुमेंट है उनको मॉडिफाई नहीं कर सकते हैं एफिशिएंसी भी होती है इससे फॉर स्मॉल डटा टाइप्स बेस बेसिकली जब बड़े डेटा टाइप्स होते हैं तो मुश्किल होती है उनकी कॉपी क्रिएट करने में पर छोटे डेटा टाइप्स में बार-बार आपको शेयरिंग करने की जरूरत नहीं है बेसिकली आप उनकी कॉपी बनाकर इस्तेमाल कर सकते हैं और ईज ऑफ यूज तो होता ही है स्ट्रेट फॉरवर्ड सेफ फॉर फंक्शंस एंड नॉट अल्टरिंग इनपुट्स ठीक है यही हमने यहां आपको क्या दिया है आपके नोट्स में भी लिखा हुआ है बिफोर स्प क्या था अंदर स्वॉप क्या था और स्वॉप के बाद भी वैल्यू चेंज नहीं हुई है याद रखिएगा एक और इसी तरह का काम होता है जिसको बोलते हैं कॉल बाय रेफरेंस जो हम पॉइंटर चैप्टर में पढ़ने वाले हैं वहां पर भी हम एगजैक्टली सेम एग्जांपल लेंगे और इसी में दिखाएंगे कॉल बाय रेफरेंस जो है वो किस तरह से चलता है अभी आपको समझना है कि बाय डिफॉल्ट सी में जब आप बेसिक अपने डाटा टाइप्स को पास करते हैं दैट इज कॉल बाय वैल्यू ठीक है तो उम्मीद कर रहा हूं आपको समझ आया होगा यह भी बहुत ज्यादा पॉपुलर टॉपिक है और बहुत इसका हआ बना दिया जाता है कि कॉल बाय वैल्यू कॉल बाय रेफरेंस समझने में कोई दिक्कत है या पॉइंटर समझने में कोई दिक्कत होगी ऐसा कुछ भी नहीं है काफी सिंपल है बेसिकली बस आपको ये याद रखना है कि आपके आर्गुमेंट की कॉपी बनकर जो है वो पास हो रही है एज पैरामीटर आ जाते हैं अपने ऑलमोस्ट लास्ट टॉपिक पर जिसका नाम क्या है स्कोपिंग रूल स्कोप रूल का क्या मतलब है देखिए यहां आपको बस स्कोप समझना है हमने एक बार पहले भी अभी ग्लोबल स्कोप की बात की थी किसी भी फंक्शन के अंदर स्कोपिंग किस तरह से चलती है ये आप यहां समझिए हम देखिए सबसे पहले क्या लेते हैं हमारे पास एक ये फंक्शन है फू नाम का है ना इसके अंदर क्या है ये देखिए क्या है इसका पैरामीटर है इंटी जर x ठीक बात है इसने रिटर्न टाइप भी अपना बोला कि भाई मैं एक इंटी जर को रिटर्न करूंगा बहुत अच्छी बात है उसके बाद क्या बोलता है एक इंटी जर y को जो है डिक्लेयर करता है और y = 5 लिखता है ठीक बात है उसका बाद एक फॉर लूप लिखता है फॉल लूप में क्या है देखिए पहले इसने इंटी जर i = 0 लिखा i < 10 i+ प् यानी 10 10 बार ये लूप चलने वाला है इसके अंदर एक और इंटी जर को डिक्लेयर करता है इंटी जर z = 3 एंड y = z+ 3 ठीक बात है देखिए यहां बताने की क्या कोशिश कर रहा है ये बोल रहा है देखिए जहां भी दो कर्ली ब्रेसे आपको दिख जाए उसको बोला जाता है कोड का ब्लॉक तो जो भी वेरिएबल जो भी आपने वेरिएबल डिक्लेरेशन किसी ब्लॉक के अंदर किया है वो उस ब्लॉक के अंदर ही इस्तेमाल किया जा सकता है तो क्योंकि z इस कली ब्रेसस के बाद यहां पर लगा है तो ये बोल रहा है z का जो स्कोप है वो बस इतना ही है आप z को इसके बाहर इस्तेमाल नहीं कर सकते ठीक बात है i का स्कोप क्या है i देखिए फॉर लूप में हुआ है तो एक्चुअली तो उसका स्कोप ये दो ब्रैकेट्स ही है बट उसके अलावा इन तीन स्टेटमेंट्स में भी i को इस्तेमाल किया जा सकता है फॉर लूप के बाहर अभी भी इसको इस्तेमाल नहीं किया जा सकता y जो वेरिएबल है इसका स्कोप क्या है देखिए y इन दो ब्रैकेट्स के अंदर डिक्लेयर हुआ है है ना तो जो फंक्शन की डेफिनेशन है उसके अंदर डिक्लेयर हुआ है तो y सिर्फ इस फंक्शन की डेफिनेशन के अंदर ही इस्तेमाल किया जा सकता है और ये बोल रहा है x क्योंकि इसका पैरामीटर है तो काइंड ऑफ उसका भी जहां पैरामीटर्स होंगे सिर्फ वहां यूज होगा या फिर आपकी जो डेफिनेशन है उसके अंदर यूज़ होगा आपको बेसिकली बस ये बात याद रखनी है कि लोकल स्कोप होता है ग्लोबल होता है ब्लॉक होता है फंक्शन पैरामीटर एंड लाइफ टाइम तो लोकल स्कोप क्या है वेरिएबल इनसाइड फंक्शंस आर लोकल अगर किसी फंक्शन के अंदर कोई वेरिएबल डिफाइन है उसको जनरली बोला जाता है उस फंक्शन का लोकल वेरिएबल अगर ग्लोबल स्कोप की बात हो रही है जो बिल्कुल बाहर होते हैं जो अभी हमने इससे पहले एडिशन में करके देखा था यानी जो सारे फंक्शन से बाहर डिक्लेयर्ड है उसको बोलेंगे आप ग्लोबल स्कोप ब्लॉक स्कोप का क्या मतलब है जैसे ये देखिए फॉर फंक्शन है फॉर फंक्शन में हमने दो ब्रैकेट्स लगाए मैंने बोला जहां भी दो कली ब्रैकेट्स आपको दिख जाए समझ लीजिए वो एक ब्लॉक ऑफ कोड है तो ये क्योंकि फंक्शन के अंदर भी नहीं है उसके भी अंदर एक ब्लॉक के अंदर है तो इसका हो जाएगा ब्लॉक स्कोप और फंक्शन पैरामीटर हमने समझ लिया अगर फंक्शन के पैरामीटर में है तो दे एक्ट एज लोकल वेरिएबल विद इन द फंक्शन जो y का स्कोप है वही x का स्कोप है है ना एंड लोकल वेरिएबल आपको याद रखना है एजिस्ट ड्यूरिंग द फंक्शन एग्जीक्यूशन ओनली यानी जब तक फंक्शन चल रहा है तभी तक उनकी लाइफ है जैसे ही फंक्शन मरेगा वैसे ही जो बेसिकली वो वेरिएबल है वो भी वहीं के वहीं मर जाएगा ठीक है तो जहां वेरिएबल मरा वहीं फंक्शन मरा तो ये है फंक्शन स्कोपिंग ये आप धीरे-धीरे इस्तेमाल करेंगे समझ आ जाता है बट इसमें बहुत ज्यादा दिमाग लगाने की आपको जरूरत नहीं है बस ये याद रखना है जो वेरिएबल में जिस ब्लॉक के अंदर डिक्लेयर कर रहा हूं वो मैं वही इस्तेमाल कर सकता हूं जो मैं सारे फंक्शंस के बाहर डिक्लेयर कर रहा हूं वो मैं कहीं पे भी इस्तेमाल कर सकता हूं हालांकि आपको ये हमेशा ध्यान रखना है कि जो फं जो मे बेसिकली डाटा जो वेरिएबल कम से कम अ बेसिकली स्कोप रखूं छोटे से छोटा स्कोप रखूं ताकि उसकी लाइफ टाइम कम रहे मेरे प्रोग्राम की ओवरऑल मेमोरी यूसेज भी कम रहे क्योंकि जैसे ही देखिए ये फॉर लूप खत्म होगा तो इंटी जर z का एक्जिस्टेंस खत्म हो जाएगा यानी मेमोरी में से इंटी जर z की वैल्यू खाली कर दी जाएगी जैसे ही आप बेसिकली कॉलेज छोड़ते हैं कॉलेज पूरा होता है स्कूल पूरा होता है आपकी जगह वहां से खाली कर दी जाती है है ना इसी तरह से जैसे ही ये फॉल्ड लूप पूरा होगा z की वैल्यू z और i की वैल्यू खाली कर दी जाएंगी जैसे ही ये फू पूरा होगा तो बेसिकली y और x की वैल्यू जो भी बेसिकली मेमोरी में जगह थी वो खाली कर दी जाएगी तो आपको ये ध्यान रखना चाहिए कि अगर z सिर्फ इसके अंदर ही इस्तेमाल हो रहा है तो मैं z को बाहर डिक्लेयर ना करूं क्योंकि उससे क्या होगा अब हो सकता है ये लूप थोड़ी देर चले फंक्शन तो बहुत बड़ा हो फंक्शन चलता रहे तो अगर मैंने z को बाहर डिक्लेयर कर दिया तो जब तक फंक्शन चलता रहेगा तब तक z की वैल्यू को खाली नहीं किया जाएगा जो वैल्यू खाली हो सकती थी और कहीं और भी वो मेमोरी इस्तेमाल हो सकती थी तो मेमोरी का एफिशिएंट यूज करने के लिए आपको स्कोप कम से कम रखना है और कम से कम का यही मतलब है कि जहां अंदर से अंदर आप उसको डिक्लेयर कर सके वहां करें अगर उसकी बाहर जरूरत है तो ओबवियसली एक लेवल ऊपर करें ठीक है तो ये था हमारा स्कोपिंग अब आ जाते हैं अपने लास्ट टॉपिक पर जो कि थोड़ा सा इंपॉर्टेंट टॉपिक भी है जिसका नाम क्या है रिकर्स तो रिकर्स क्या है दोस्तों रिकर्स है अ फंक्शन दैट कॉल्स इट सेल्फ टू सॉल्व सब प्रॉब्लम्स है ना बट मेन क्या है वो सब प्रॉब्लम सॉल्व करे नहीं करे वो उसकी दिक्कत है मेन बात क्या है अ फंक्शन दैट कॉल्स इट सेल्फ इज कॉल्ड अ रिकर्स इसका क्या मतलब है यानी देखिए अभी हम क्या करते आ रहे थे अभी जो उससे पहले हम कर रहे थे हमने क्या किया मेन फंक्शन से स्वप फंक्शन को कॉल किया या इससे पहले भी मेन फंक्शन से हमने काउंट टू 100 को कॉल किया मेन फंक्शन से हमने सम फंक्शन को कॉल किया यानी एक फंक्शन दूसरे फंक्शन को कॉल करता है हमारे मेन फंक्शन को कौन कॉल करता है जो c का बेसिकली कोड रन कर रहा है कंपाइलर है या उसके बाद आप मान लीजिए जो हम डॉट स्ल लगाकर कर रहे हैं उससे क्या हो रहा है यह जो डॉटसी है अगर आप बेसिकली विंडोज पर कर रहे हैं तो वो मेन फंक्शन कॉल करता है मेन फंक्शन बाकी फंक्शंस को कॉल करता है बाकी फंक्शंस इंटर्न ऑल फ फंक्शंस को कॉल कर सकते हैं है ना बट ये क्या बोल रहा है अ एक ऐसा फंक्शन है जो खुद को कॉल करता है यानी वो क्या कर रहा है वो अपने आप को ही कॉल करता जा रहा है अगर ऐसा कोई फंक्शन है तो उसको हम क्या बोलेंगे रिकर्स बोलेंगे सर ऐसी कंडीशन कैसे हो सकती है कि कोई अपने आप को ही कॉल कर रहा है भाई फंक्शन कब कॉल करते हैं जब कोई रिस्पांसिबिलिटी हमको किसी और फंक्शन को को देनी है कि भाई आप जाओ वो काम कराओ अब वो अपने आप को ही बोल रहा है कि जाओ काम कराओ जाओ काम कराओ मतलब मां-बाप ने आपको बोला पढ़ ले आप भी खुद को बोल रहे हैं पढ़ ले पढ़ ले पढ़ ले बट पढ़ नहीं रहे हैं ऐसा कैसे भाई देखिए यहां पर क्या है बोल रहा है यहां मेन बात क्या है देखिए दूसरा एग्जांपल इसका क्या हो सकता है जैसे आपने देखा होगा रशियन डॉल्स का एक एग्जांपल लिया जाता है इसने नहीं देखा मैं बता देता हूं ये खिलौने आते हैं डॉल टाइप की आती है इतनी बड़ी उसमें क्या होगा आप उस डॉल को खोलेंगे उसके अंदर से एक और डॉल निकलेगी उसको खोलेंगे उसके अंदर से एक और डॉल निकलेगी उसको खोलेंगे उसके अंदर से एक और क्या होगा छोटी-छोटी छोटी छोटी डॉल निकलती रहेगी ऐसा बहुत लोगों ने मतलब क्या है देखिए मान लीजिए कहीं पर एक ईंटों का ढेर लगा हुआ है है ना और मैं आपको बोलता हूं कि भाई एक काम करो एक फंक्शन बनाओ जो इन सारी ईंटों को उठाकर उधर रखता हो एक तरीका क्या है कि भाई पहले मैं काउंट कर लूं कितनी ईटें हैं उसके बाद मैं क्या करूं उसके बाद उनमें एक लूप लगा दूं कि भाई एक ईंट को उठाइए और उधर रखिए एक ईट को उठाइए और उधर रखिए ये तरीका चल सकता है दूसरा तरीका क्या है वो फंक्शन ये बोलता है कि मैं एक काम करता हूं मैं एक ंट उठाकर उधर रख देता हूं मुझे अभी नहीं पता पाइल में कितनी ईटें हैं क्या है क्या नहीं है मैं एक काम करता हूं एक ईट उठाकर उधर रख देता हूं और उसके बाद अपने अपने आपको ही कॉल कर लेता हूं देखिए इस फंक्शन ये फंक्शन अपनी रिस्पांसिबिलिटी कितने स्मार्टली डिफाइन कर रहा है बोल रहा है मैं एक ट उठाकर उधर रखता हूं और उसके बाद ऐसे फंक्शन को कॉल करता हूं जो सारी ईटें उठाकर इधर रखता हो वो कौन है वो मैं ही हूं तो जब मैं अपने आप को दोबारा कॉल करूंगा तो वो क्या करेगा वो अगली ईंट उठाकर उधर रखेगा और फिर से अपने आप को बोलेगा एक काम करो ये सारी ईटें उठाकर उधर रख दो फिर वो आएगा फिर देखेगा अरे फिर इतनी सारी ईटें हैं एक ईंट उठाकर उधर रखेगा फिर अपने आप को कॉल कर देगा ऐसे अपने आप को कॉलिंग अपने आप को कॉलिंग चलती जाएगी कब तक जब तक आखिरी ईंट नहीं बचेगी जब वो आखिरी ईंट उठाकर उधर रखेगा तो ये बोलेगा मेरा बेस केस क्या है मेरा बेस केस यह है कि अगर एक ही ईंट होगी तो मैं बस उस ईंट को उठाकर वापस उधर रख दूंगा दूसरी साइड पर रख दूंगा और किसी को कॉल नहीं करूंगा और वो कॉल्स जो है वो वापस चलती चली जाएंगी अभी थोड़ा सा मुश्किल है समझना कोई बात नहीं है एक एग्जांपल दिया है मल्टीपल एग्जांपल्स लेंगे समझेंगे इंपॉर्टेंट बात क्या है यहां एक बात जो मैं आपको समझाने की कोशिश कर रहा हूं वो है बेस केस यानी हर रिकर्स में एक बेस केस होता है यहां बेस केस क्या था जब एक ही ईंट बची हो वो बेस केस है उस केस में मैं रिकर्स को स्टॉप करूंगा रिकर्स नहीं करूंगा उस केस में बस मैं काम करूंगा और चुप हो जाऊंगा जब तक रिकर्स एंड नहीं होगा एक के बाद एक कॉल्स चलती जाएंगी जब बेस केस आएगा तो वहां से कॉल्स वापस आएंगे तो अब हम क्या करेंगे अब हम जाएंगे पहले एक एग्जांपल के ऊपर वापस आकर जो आपके बीच के नोट्स हैं इनको भी मैं दिखाऊंगा एग्जांपल हम क्या देखेंगे देखिए फैक्टोरियल का प्रोग्राम आपने पहले जो हमारी एक्सरसाइजस थी अ लूप की उसके अंदर किया है अब हम क्या करेंगे फैक्टोरियल को इंप्लीमेंट करेंगे यूजिंग रिकर्स आपके नोट्स के लिए मैंने यहां पर उसकी डेफिनेशन दे दी है बट अभी हम इसको खुद से लिखने की कोशिश करेंगे एक बार जिन बच्चों ने अगर मान लीजिए एक्सरसाइज स्किप कर द है मैं उनको थोड़ा सा रिफ्रेश करने के लिए बता देता हूं फैक्टोरियल का क्या मतलब है जो भी आप कोई नंबर ले मान लीजिए 4 का फैक्टोरियल क्या होगा 4 का फैक्टोरियल होगा 4 * 3 * 2 * 1 है ना आप कोई भी नंबर लें उस नंबर से लेकर वापस चलते जाइए नेचुरल नंबर्स में यानी वन तक और उन सब नंबर का अगर आप मल्टीप्लिकेशन कर देंगे तो आपको क्या मिल जाएगा आपको मिल जाएगा फैक्टोरियल है ना तो हम फैक्टोरियल को इंप्लीमेंट करने की कोशिश करेंगे पहले नॉर्मल भी मैं आपको करके दिखाता हूं और उसके बाद रिकर्स से करते हैं और फिर एक बार समझते हैं ये फैक्टोरियल बेसिकली रिकर्स काम किस तरह से करता है तो एक्सप्लोरर में आते हैं एक नई फाइल बनाते हैं जिसका नाम हम रखते हैं फैक्टोरियल ठीक है फैक्टोरियल फाइल हमने बना ली माफ कीजिएगा इसको हम बाकी को कर देते हैं बंद करते हैं शश इंक्लूड एडीओ ए अपना इंट मेन बना लेते हैं इंट मेन ये क्या करेगा रिटर्न रो अब पहले हम देते हैं अपने फंक्शन के प्रोटोटाइप तो दो फंक्शन हमको लिखने हैं दोनों ही फंक्शन क्या करेंगे रिटर्न क्या कर रहे होंगे मान लीजिए लॉन्ग कर रहे होंगे है ना लॉन्ग या मान लीजिए अभी अगर हमने नहीं देखा है शायद तो हम इंटी जर ही मान लेते हैं ना छोटे नंबर्स का ही निकाल लेंगे तो मैंने बोला इंटी जर फैक्टोरियल मान लीजिए मैं बोल देता हूं फैक्टोरियल यूजिंग लूप इसका नाम है पूरा फैक्टोरियल यूजिंग लूप और ये चलेगा कैसे आप इसको कोई भी एक नंबर देंगे उसका फैक्टोरियल य आपको निकाल करके क्या कर देगा रिटर्न कर देगा एक दूसरा फंक्शन भी डिफाइन कर लेते हैं जिसका नाम रख देते हैं फैक्टोरियल यूजिंग रकर्स ये भी क्या करेगा ये भी एक इंटी जर लेगा और ये भी आपको एक फाइनल इंटी जर रिटर्न कर देगा अब इनकी डेफिनेशन अपन लिखना शुरू करते हैं तो देखिए सबसे पहले लिख लेते हैं यूजिंग लूप की जो मैं उम्मीद कर रहा हूं आप पहले ऑलरेडी लिख कर आए हैं बट एक बार फिर यहां पर हम दोबारा से जल्दी इसको लिख लेते हैं है ना अब मैं क्या करूंगा मैं कर देता हूं इंट रिजल्ट इक्वल ट 0 है ना या मान लीजिए वन एक्चुअली फैक्टोरियल कभी भी जीरो नहीं हो सकता जीरो का फैक्टोरियल भी वन होता है तो मान के चलता हूं वन तो है ही उसके बाद बोलूंगा फॉर इंटी जर आ इ 2 आ लेसन क्या होना चाहिए नंबर आ प् प्स एक्चुअली ये भी लेस दन इक्वल टू चलेगा क्योंकि 4 के फैक्टोरियल में फर भी आता है उसके बाद मैं क्या बोलूंगा रिजल्ट मल्टीप्लाई इक्वल टू i यानी मैं क्या बोल रहा हूं अभी रिजल्ट में मेरे जो भी है उसमें i को मल्टीप्लाई करते रहिए तो अगर यहां नंबर टू पास हुआ है तो एक बार लूप चलेगा 1 * 2 2 हो जाएगा पांच पास हुआ है तो टू चलेगा फिर तीन के लिए चलेगा फिर चार के लिए फिर पांच के लिए और हम हर बार क्या हर बार क्या करते रहेंगे जो भी मेरा रिजल्ट है उसमें पहले टू से मल्टीप्लाई करेंगे रिजल्ट मेरा वन है तो पहले टू से मल्टीप्लाई करेंगे टू हो गया थ्री से मल्टीप्लाई करेंगे सिक्स हो गया उसके बाद क्या फोर से मल्टीप्लाई करेंगे 24 हो गया तो तरह सेय चलता जाएगा फाइनली मैं क्या करूंगा रिटर्न कर दूंगा रिजल्ट तो ये तो देखिए नॉर्मल इंप्लीमेंटेशन थी एक बार इसको चलाकर देख लेते हैं इंट आर इ इक्वल टू फैक्टोरियल यूजिंग लूप और यहां हमको क्या मिलेगा मैं मान लीजिए फर का फैक्टोरियल यहां निकाल लेता हूं उसके बाद क्या करते हैं प्रिंट एफ अभी तक देखिए हमने कोई भी काम ऐसा नहीं किया जो पहले नहीं किया है ना फैक्टोरियल यूजिंग अभी तो हमने सिर्फ लूप वाला इंप्लीमेंटेशन देखा है परसेंटाइल डी आर यह मेरा बन गया पहला इंप्लीमेंटेशन इसको एक बार हम रन करके देख लेते हैं सबसे पहले करेंगे कंपाइल तो मैं बोलूंगा जीसीसी फ्टो स - o फैक्टोरियल डॉट आउट कोई दिक्कत नहीं है कोई एरर नहीं आया कंपाइल हो गया फिर से चलाकर देखते हैं डॉट स्टड आउट अभी हम क्या कर रहे हैं फोर का ही कर रहे हैं हमने यूजर से कोई नंबर नहीं लिया तो देखिए क्या हुआ 4 का फैक्टोरियल हमने निकाला 24 यहां पर प्रिंट हो गया तो ये वाला फैक्टोरियल तो ठीक चल गया अब अगले वाले फैक्टोरियल को भी इंप्लीमेंट करते हैं भाई जब एक हो गया तो दूसरा भी होगा एंट नम यहां पर भी नम ले लेते हैं अब देखिए इसको करना क्या है फिलहाल के लिए मैं यहां रिटर्न वन कर देता हूं जस्ट ताकि ये एरर ना दे बट अब हम आगे देखते हैं अब देखिए क्या है मेरा बेस केस क्या है वन का फैक्टोरियल वन है 0 का फैक्टोरियल वन है नेगेटिव नंबर्स का फैक्टोरियल नहीं हो सकता है तो मुझे पता है अगर कोई भी रिकर्स सेवली भी फैक्टोरियल कर रहा है तो उसको क्या करना होगा वो अगर रिकर्स वली भी फैक्टोरियल कर रहा है तो उसको वन पर आकर रुकना पड़ेगा देखिए इसी के लिए हमने आपके नोट्स में यहां पर दिया है देखिए क्या कर रहा है अब ये अब मैं दोबारा दूसरी तर ऐसे सोचूं कि मैं रिकर्स सेवली फैक्टोरियल को कैसे निकाल सकता हूं तो देखिए 4 के फैक्टोरियल को पता है कि मैं 4 के फैक्टोरियल को इस तरह लिखने के बजाय मैं ऐसे भी लिख सकता हूं 4 इक्व टू बेसिकली 4 फैक्टोरियल इज इक्वल टू मैं फैक्टोरियल यहां लिखना भूल गया 4 फैक्टोरियल = 4 ल् बा 3 फैक्टोरियल क्योंकि देखिए ये क्या है ये 3 फैक्टोरियल है ये क्या है ये 2 फैक्टोरियल है ये क्या है ये 1 फैक्टोरियल तो मतलब दिस इज द ट वाला एग्जांपल और ऑल ओवर अगेन क्या 4 फैक्टोरियल ये बोल रहा है कि अगर मैं पहले फोर ले लूं और उसमें मल्टीप्लाई कर दूं 3 फैक्टोरियल को 3 फैक्टोरियल मेरे पास कहां से आएगा अभी मैं ये नहीं सोच रहा मैं अपने आप को ही कॉल कर लूंगा 3 फैक्टोरियल निकालने के लिए तो मेरा फाइनल रिजल्ट आ जाएगा जब मुझे कोई फिर मैं अपने आप को ही कॉल कर रहा हूं तो 3 फैक्टोरियल फिर मैं कैसे निकालूं मैं फिर सेम काम करूंगा नंबर मल्टीप्ला बाय नंबर -1 का फैक्टोरियल उसके लिए मैं फिर से अपने आप को कॉल करूंगा 2 फैक्टोरियल मैं कैसे निकालूं 2 मल्ला बा 1 फैक्टोरियल कर दूंगा 1 फैक्टोरियल मैं कैसे निकालूं 1 फैक्टोरियल मेरा बेस केस है अगर मेरा 1 फैक्टोरियल हुआ तो मैं क्या करूंगा 1 फैक्टोरियल मुझे पता है वन है 0 फैक्टोरियल मुझे पता है वन है वहां मैं दोबारा फैक्टोरियल कॉल नहीं करूंगा वहां मैं क्या करूंगा या मान लीजिए यहां हमने एग्जांपल में क्या लिया n = 0 लिया है तो मैं क्या कर सकता हूं 1 * बा 0 का फैक्टोरियल माफ कीजिएगा उसको मैं यहां लिख देता हूं मान लीजिए 1 फैक्टोरियल कैसे निकलेगा 1 * 0 फ्टो और फाइनली मैं क्या करूंगा लास्ट जो मैं अपना लास्ट स्टेप करने वाला हूं क्या 0 फैक्टोरियल मेरा बेस केस है 0 फैक्टोरियल को मैं हार्ड कोड कर दूंगा 0 फैक्टोरियल को मैं लिख के छोड़ दूंगा कि 0 फैक्टोरियल क्या होने वाला है 0 फैक्टोरियल होने वाला है व ठीक है तो एक बार मैं आपको इसको इंप्लीमेंट करके दिखाता हूं मैं क्या कर रहा हूं वापस आते हैं सबसे पहले लिख देंगे अपना बेस केस कि कहीं मैं वापस अपने बेस केस पर तो नहीं पहुंच गया तो मैं लिखूंगा इफ नंबर इक्वल टू इक्वल टू 0 यानी अगर नंबर जीरो पर पहुंच गया है तो आप क्या करिए तो कुछ मत करिए वन रिटर्न कर दीजिए अगर नंबर जीरो है तो उसका फैक्टोरियल वन है मुझे पता है अदर वाइज क्या करिए रिटर्न करिए क्या जो भी मेरा नंबर है वो नंबर मल्टीप्लाई बाय अपने आप को ही दोबारा कॉल कर दीजिए फैक्टोरियल यूजिंग रिकर्स और इसमें क्या पास करिए नम -1 देखिए मैंने क्या किया मैंने सब सबसे पहले डिफाइन किया बेस केस तो बेस केस मेरा क्या है बेस केस है अगर जीरो तक मैं पहुंच गया हूं तो रिजल्ट आने वाला है वन अदर वाइज हर केस में क्या होगा मेरा एक जो करंट नंबर है वो और उससे कम उससे वन माइनस का फैक्टोरियल मैंने दोबारा कॉल कर दिया अब इस पूरे काम को मैं दोबारा यहां पर कर लेता हूं मान लीजिए इस बार मैं लिखूंगा इसका नाम मैं वेरिएबल का नाम रख देता हूं रिजल्ट टू और यूजिंग लूप की जगह अब हम कॉल कर लेते हैं यूजिंग रिकर्स है ना इसको हम दोबारा प्रिंट कर देते हैं और इस बार कर देते हैं रे टू और चार की जगह लिख देते हैं यहां पर लीजिए पा का फैक्टोरियल क्या होगा ठीक है एक बार इसको फिर से रन करके देखते हैं मैं फिर से इसको करता हूं कंपाइल और इसमें हम एक दे देते हैं बैक स्ल n दोनों में है ना तो इसको क्लीन करते हैं दोबारा एक बार कंपाइल करते हैं और इसको रन करते हैं तो देखिए क्या हुआ 4 का फैक्टोरियल आ गया 24 और 5 का फैक्टोरियल आ गया 25 व्हिच इज एब्सलूट करेक्ट बट एक काम अब इसमें और करते हैं मान लीजिए मैं लिख रहा हूं लूप वाले में मैं यहां लिखता हूं प्रिंट जरा यहां पर डॉट प्रिंट कर दीजिए हमारी पुरानी डीबगिंग टेक्निक है जो हमने एक बार पहले भी डिस्कस की थी और जो मेरा रिकर्स वाला है यहां पर मैं प्रिंट कर देता हूं कॉमा ठीक है देखिए एक बार मैं आपको फिर से रन करके दिखाता हूं अच्छा सॉरी मेरे को लिखना था प्रिंट एफ फिर से इसको कंपाइल करते हैं रन करते हैं तो देखिए क्या हुआ एक बार डॉट प्रिंट हुआ उसके बाद आ गया रिजल्ट 24 पर कॉमा देखिए कितनी बार प्रिंट हुआ एक दोती च पा छ बार प्रिंट हुआ उसके बाद आया 120 क्योंकि देखिए जो लूप वाला फंक्शन है वो तो एक ही बार कॉल हुआ पर जो रिकर्स वाला है वो अपने आप को कॉल करते जा रहा है करते जा रहा है करते जा रहा है जब तक वो अपने बेस केस पर नहीं पहुंच रहा है जब वो अपने बेस केस पर पहुंचता है तो वापस अपना अपना जो रिजल्ट है वो रिटर्न करना स्टार्ट करता है और वापस मेन चीज तक पहुंच जाता है तो ये है हमारा फैक्टोरियल वाला एग्जांपल तो दोस्तों यहां पर जो फैक्टोरियल वाली बात है वो हमको समझ आ गई है है ना कि फैक्टोरियल ये बेसिकली चल कैसे रहा है ये हमने बेसिकली आपके जो नोट्स के लिए है ये भी यहां पर लिख दिया है एक बार वापस आकर देख लेते हैं क्या कि इटरेटिव अप्रोच और रिकर्स अप्रोच में अब हमने देखा देखिए दोनों तरह से हमने सेम एग्जांपल लिखा इटरेटिव तरह भी लिखा और अ बेसिकली रिकर्स सेव तरह भी लिखा तो सोच में किस तरह का चेंज लाना है तो अगर मैं इटरेटिव एग्जाम अप्रोच का एक एग्जांपल लूं तो हमने क्या बोला मान लीजिए हमारे पास एक पाइल ऑफ बॉक्सेस है जिसमें से हमको सामान ढूंढना है अगेन ईट वाला एग्जांपल है यानी बहुत सारे बॉक्सेस हैं जिसमें से हमको सामान ढूंढना है तो मैं क्या कर सकता हूं जब मैं एल्गोरिथम लिखूंगा क्या लिखूंगा वाइल द पाइल इज इंट एम्टी यानी जब तक सारे के सारे बॉक्सेस खत्म नहीं हुए हैं एक बॉक्स को उठाइए अब इस बॉक्स में दो काम हो सकते हैं हम क्या ढूंढ रहे हैं हम एक चाबी ढूंढ रहे हैं तो इफ यू फाइंड अ बॉक्स ऐड इट टू द पाइल ऑफ बॉक्सेस यानी अगर आपको उसके अंदर एक और बॉक्स मिला तो वापस बॉक्स के अंदर डाल दीजिए अगर आपको की मिल गई यानी आपने चाबी ढूंढ ली तो ठीक है अदर वाइज वापस जाइए जब तक बेसिकली इटरेटिव मेरा अप्रोच है जब तक ये सारे के सारे बॉक्स के अंदर बॉक्स मिला तो बॉक्स को वापस रख दो ये वाला बॉक्स फेंक दो फिर अगला बॉक्स उठाओ अगर बॉक्स के अंदर चाबी मिल गई तो रुक जाओ बॉक्स के अंदर बॉक्स मिला अगले बॉक्स को डाल दो छोड़ दो अगर कुछ भी नहीं मिला तो वापस चले जाओ है ना बॉक्स खाली है तो बॉक्स को फेंकते रहो एक-एक करके ढूंढते रहो ऐसे आप ढूंढ सकते हैं रिकर्स अप्रोच क्या है रिकर्स सेव अप्रोच थोड़ी सी सिंपल पलर हो जाती है सोचने में हर बार एक आइटम उठाओ बॉक्स से बस हर बार बेसिकली पाइल में से एक आइटम आइटम उठाओ अगर आपको बॉक्स मिले तो वापस बेसिकली इटरेटिव अप्रोच कॉल कर दीजिए अदर वाइज अगर आपको की मिल जाए तो आपका काम डन हो जाएगा है ना जो ईंट वाली हमने बात की थी भाई मैं एक बार में सिर्फ एक ईट उठाकर रखूंगा सारी ईट मैं नहीं उठाऊंगा मैं एक ईट उठाकर रखूंगा और फिर अपने आप को ही कॉल करूंगा कि फिर तुम सारी ईट उठाकर इधर रखो यानी वो जिम्मेदारी तो पूरे की ले रहा है बट वो बोल रहा है मैं एक काम खुद करूंगा सिर्फ एक ईट खुद उठाऊंगा बाकी जिम्मेदारी आगे पास ऑन कर दूंगा और मैं आगे भी अपने आप को ही पास ऑन कर रहा हूं य आपको बस एक बात ध्यान रखनी है यह कोई इंसान नहीं है यह फंक्शंस हैं तो फंक्शंस जब एक दूसरे को कॉल कर रहे हैं आपने अगर चार बार उसको कॉल किया उसको चार बार मेमोरी मिलेगी चार बार वो कॉल होगा यानी एक तरह से वो अलग-अलग फंक्शन कॉल ही माना जाएगा वो भले ही अपने आप को कॉल कर रहा है बट आप यह भी मान कर चलिए मान लीजिए एक फैक्ट्री है जहां बहुत सारे एक ही तरह के वर्कर हैं तो हो सकता है कि वो वर्कर यह बोल रहा है कि भाई मैं एक काम करूंगा और उसके बाद अपनी टीम को ही काम दे दूंगा यानी और वर्कर्स को ही काम दे दूंगा फिर कोई और करेगा तो यह क्या है रिकसिव अप्रोच है जहां आप प्रॉब्लम को क्या करते हैं छो छोटे-छोटे पीसेज में तोड़ लेते हैं और एक पीस खुद करते हैं बाकी रिकर्स सेवली कराते हैं कब तक जब तक बेस केस ना पहुंचे तो अगर मैं वापस जाऊंगा जो हमारे नोट्स से और वापस जा रहे हैं तो बेस केस हमको समझ आया रिकर्स सेव केस क्या है द कंडीशन अंडर व्हिच द फंक्शन कीप्स कॉलिंग इ इट सेल्फ तो दो ही केसेस होंगे अगर मैं फैक्टोरियल कैलकुलेट कर रहा हूं अगर मैं किसी भी ऑन नंबर पे हूं तो मैं रिकर्स सेव केस में हूं यानी मैं उस नंबर को रख लूंगा मल्टीप्लाई करूंगा अपने से छोटे वाले के साथ छोटे वाले के फैक्टोरियल के साथ यानी रिकर्स सेव कॉल करूंगा और बेस केस क्या है जब मैं वहां पहुंच गया हूं जहां के बाद अब मुझे रिकर्स सेव कॉल नहीं करना है मुझे फाइन फल रिजल्ट ही देना है अब एक इंपॉर्टेंट पॉइंट यहां पर आता है आपके नोट्स में यानी स्टैक यूसेज कंज्यूम स्टैक स्पेस विद ईच कॉल इस बात का क्या मतलब है देखिए फंक्शन कॉल में अभी तक हमने इस बात की बात नहीं की है क्या कि ये जो स्टैक स्पेस यूसेज होता है फंक्शन में इसका क्या मतलब है तो इस स्लाइड प हम वापस आते रहेंगे नोट्स पर पर अभी क्या है हमने बेसिक फैक्टोरियल तो चलाना सीखा बट एक चीज पहले हमको सीखनी है जिसका नाम क्या है स्टैक देखिए वैसे आगे जो कॉम्प्लेक्टेड स्ट्रक्चर्स पढ़ते हैं वहां भी हम समझ सकते हैं बट अगर स्टैक को हमने इमीडिएट अभी यहां पर नहीं समझा तो हमको फंक्शन कॉल्स और जो रिकर्स सेव अप्रोच है वो ठीक से समझ नहीं आएगी तो स्टैक क्या है स्टैक ये मान कर चलिए डाटा रखने का एक तरीका है स्टैक एक डेटा स्ट्रक्चर है सबसे पहली बात डेटा स्ट्रक्चर का क्या मतलब होता है डाटा रखने का एक स्पेसिफिक तरीका है और इसमें क्या है अभी हम अभी ये फंक्शन से कोई रिलेटेड नहीं है पहले स्टैक समझिए उसके बाद देखेंगे कि स्टैक फंक्शन से कैसे रिलेटेड है तो स्टैक क्या बोलता है स्टैक ही बोलता है मेरे पास दो तरह के ऑपरेशंस हैं पुश और पॉप स्टैक एक इस तरह से मान लीजिए इसका सबसे कॉमन एग्जांपल जो दिया जाता है वो ये आप किसी शादी में जाते हैं और उस शादी में खाने की थालियां रखी गई हैं आप थाली उठाते हैं बफे मेन्यू लगा हुआ है आप एक-एक करके चीजों को उठाते हैं और खाते हैं बट देखिए हुआ क्या जब एक वर्क कई बार ऐसा होता है आपके सामने ही एक वर्कर क्या कर रहा है कपड़े से पूंछ पूछ कर वो थालियां वहां पर रख रहा है वो एक के ऊपर एक थाली लगाता जाता है आप जब भी जाते हैं ऊपर से एक थाली उठाते हैं और इस्तेमाल कर लेते हैं तो देखिए ये क्या हुआ ये बिल्कुल उल्टा हुआ लाइन लगाने से यानी यहां पर जो थाली वो सबसे बाद में ऊपर रखता है वो थाली सबसे पहले उठाई जाती है जो थाली उस बेचारे ने सबसे पहले साफ करके रखी थी उस थाली का नंबर सबसे बाद में आता है अगर बाद तक कोई गेस्ट बच गया तो यानी ये किस टाइप का अ डाटा स्ट्रक्चर होता है इसमें वैल्यू पुश करके एक-एक करके आती है मान लीजिए यहां पहले पुश किया आपने वन पुश का मतलब रखना तो वन चला गया फिर पुश किया तो टू आ गया पॉप करेंगे मतलब उठाएंगे तो जो सबसे ऊपर होगा वो सबसे पहले निकलेगा इसलिए इसको क्या बोला जाता है लिफो बोला जाता है यानी लास्ट इन जो है वो फर्स्ट आउट होगा जैसे आप किसी लिफ्ट में खड़े होते हैं एस्केलेटर में खड़े होते हैं तो क्या होता है जो आदमी सबसे बाद में लिफ्ट में घुसा है वो सबसे पहले बाहर निकलता है क्यों क्योंकि बाकी सब तो पीछे भी बेसिकली वेट कर रहे हैं कि जो आगे वाला निकलेगा तभी तो मेरा नंबर आएगा तो वो भी एक स्टैक का एग्जांपल है तो यहां क्या है आपको ये समझना है दो ही तरह के ऑपरेशन हैं पुश और पॉप पुश का मतलब है आइटम स्ट्रैक के अंदर रखना पॉप का मतलब है आइटम टैक के बाहर निकालना है ना तो ये दोनों ऑपरेशंस हम समझ गए टॉप एलिमेंट जो है वो इसका सबसे इंपॉर्टेंट होता है क्योंकि जब भी आप बाहर निकालेंगे तो टॉप एलिमेंट ही निकलेगा एक पीक ऑपरेशन भी मान कई बार यूज़ होता है हालांकि वो स्टैक से बहुत ज्यादा अ बेसिकली स्टैक की डेफिनेशन नहीं है बट पीक का मतलब क्या होता है आप कई बार बिना निकाले हु टॉप एलिमेंट को झांक कर देख सकते हैं कि टॉप एलिमेंट क्या है यानी जैसे खाना खाने से पहले आप कई बार जो ऊपर वाली थाली है उसको देख लेते हैं कि वो साफ भी है या नहीं नहीं है तो पहले किसी और को उठाने देते हैं हम अगली थाली उठा लेंगे है ना या रोटियों जब आप कहीं मान लीजिए रोटियां लगी हुई है तो आप क्या देखते हैं आप देखते हैं कोई अच्छी वाली दिख रही है क्या बस आप ये मानिए यहां पर आप बीच में से नहीं निकाल सकते आपको वेट करना पड़ेगा कि जब अगले वाला आदमी पहली ठ उठा ले तो ही मैं उठाऊं तो पीक का मतलब है झांक कर देख लेना पीक का लिटरल इंग्लिश मतलब भी यही होता है झांक कर देख लेना ओवरफ्लो अंडरफ्लो क्या है अगर मान लीजिए स्टैक का एक साइज है मान लीजिए थालियां रखी हुई है अगर आप 100 थाली रख देंगे 200 रख देंगे 300 रख देंगे तो क्या होगा सारी की सारी थालियां लुड़क जाएंगी या उससे ज्यादा आप थालियां नहीं रख सकते तो तो आपको यहां क्या याद रखना है कि स्टैक का एक डेफिनेट साइज होता है उतना ही डाटा आप उसके अंदर रख सकते हैं अभी मैंने बहुत टेंपरेरी बहुत ही छोटा ओवरव्यू दिया है स्टैक का ताकि आपको बेसिक स्टैक की बात समझ आए हमने स्टैक पढ़ नहीं लिया है अभी स्टैक को हम बेसिकली बाद में जब डटा सक्सेस पढ़ेंगे उसके अंदर डीप में पढ़ सकते हैं बट अभी मैंने इतना आपको स्टैक का इंट्रोडक्शन इसलिए दिया है ताकि हम ये समझ पाएं कि रिकर्स स्टैक क्या चीज है है ना यानी ये जब रिकर्स होता है तब स्टैक किस तरह से इस्तेमाल होता है तो देखिए रशन स्टैक की बात नहीं फंक्शन स्टैक की बात है यानी जब कोई मेन फंक्शन कॉल करता है तो सबसे पहले स्टैक बना दिया जाता है इसको बोलते हैं फंक्शन स्टैक और वहां सबसे पहले लिख दिया जाता है मेन भाई आपका मेन फंक्शन कॉल हो गया है अब मेन फंक्शन अगर किसी और फंक्शन को कॉल करेगा तो वो फंक्शन यहां पर आ जाएगा वो फंक्शन किसी और को कॉल करेगा तो उसके ऊपर वो आ जाएगा यानी पुश ऑपरेशन हो रहा है एक के ऊपर एक इंसर्ट कर रहे हैं जब कोई फंक्शन खत्म होगा तो उस फंक्शन को यहां से उड़ा दिया जाएगा स्टैक से उसके जो वेरिएबल हैं उनको भी साथ में उड़ा दिया जाएगा स्टैक मेमोरी भी होती है यानी एक फंक्शन के जो वेरिएबल अभी हम स्कोप पढ़कर आए थे कि फंक्शन के वेरिएबल तभी तक रहते हैं जब तक फंक्शन रहे तो वो इंश्योर कैसे होता है वो ऐसे ही इंश्योर होता है यानी फंक्शन जब भी कोई कॉल करता है एक स्टैक में जगह बनाई जाती है और साथ में उसके वेरिएबल भी वहीं रखे जाते हैं जब फंक्शन खत्म हो जाता है तो उसको भी स्टैक से हटा दिया जाता है और उसके वेरिएबल को भी वहां से हटा दिया जाता है अगेन ये देखिए बहुत ही कर्सरी इंफॉर्मेशन है इसको बहुत ज्यादा ये दिमाग पर लोड नहीं लेना कि तो मेरे को एगजैक्टली समझ नहीं आया एगजैक्टली समझने की जरूरत नहीं है आपको बस बेसिक अंडरस्टैंडिंग होनी चाहिए कि ये चीज कैसे चल रही है तो इसी तरह से ये बात कर रहा है कि मान लीजिए आपने फैक्टोरियल कॉल किया 4 फैक्टोरियल तो सबसे पहले क्या होगा एक 4 फैक्टोरियल लगा हुआ है वो क्या करेगा 4 * फैक्ट थ यहां पर रखेगा फैक्ट थी क्या करेगा फैक्ट थ मतलब फैक्टोरियल 3 वो 3 * फैटो 2 अगली कॉल आ गई उसके बाद अगली कॉल आ गई फैक्टोरियल 1 उसके बाद फैक्टोरियल वन क्या होगा या मान लीजिए रो क्या होगा वो वन हो जाएगा तो स्टैक में क्या है एक के ऊपर एक कॉल्स होती जा रही है जब भी आप एक नई फंक्शन कॉल करते हैं वो स्टैक में आपके ऊपर आती है आप रिकर्स भी करेंगे तो भी वो अलग-अलग कॉल समझी जाएंगी एक के ऊपर एक वहां पर आती जाएंगी तो अगर आपने रिकर्स मान लीजिए बहुत बड़ा कोई रिकर्स कर दिया मैंने आपको बोला भाई 1 लाख का फैक्टोरियल निकाल दीजिए आपने रिकर्स कॉल कर दिया वहां पर कि एक भाई 1 लाख हम कॉल कर देते हैं तो क्या होगा स्टैक में पहले 1 लाख के लिए फैक्टोरियल कॉल होगा फिर 9 लाख फिर बेसिकली 99999 के लिए होगा 99998 के लिए होगा ऐसे होता जाएगा कहां तक जब तक हम जीरो पर नहीं पहुंचते बट हो सकता है उससे पहले ही हमारी स्टैक मेमोरी फुल हो जाए यानी जो फंक्शन है मान लीजिए जब जो भी हमारा सिस्टम बनाने वाला है उसने बोला यार एक एक फंक्शन कितनी बार कॉल करेगा मान लीजिए 500 फंक्शन से ज्यादा हम इसकी मेमोरी नहीं दे सकते क्योंकि रम की बेसिकली कोई रिक्वायरमेंट है उससे ज्यादा आप नहीं ले सकते तो क्या होगा उस केस में ओवरफ्लो हो जाएगा रिकर्स स्टैक आपका खराब हो जाएगा तो रिकर्स स्टैक का क्या मतलब मत मेमोरी एलोकेट की जाती है ग्रोथ और डेप्थ बढ़ती है बेस केस तक ये हमेशा चलता जाता है स्टैक ओवरफ्लो का रिस्क हमेशा रहेगा तो आपको क्या ध्यान रखना है आपको हमेशा वही अ बेसिकली रिकर्स करना है जो बहुत ज्यादा कॉल्स ना हो जाए है ना अगर बहुत ही ज्यादा कॉल्स हो रही है तो आप देखिए क्या मैं इसको आइडलेटर अप्रोच से कर सकता हूं टेल रिकर्स क्या होता है देखिए रिकर्स भी दो तरह से हो सकता है एक रिकर्स जो अभी हमने किया क्या यहां पर जो रिकर्स कॉल था वो फंक्शन के एकदम एंड में आया तो इसको बोलते हैं रिकर्स टेल रिकर्स अगर ये रिकर्स सेव कॉल किसी वजह से सबसे पहले आ रहा होता कि सबसे पहले वो आएगा उसके बाद ही आएगा तो उस केस में क्या बोलते तो टेल रिकर्स की जगह इसको बोला जाता है हेड रिकर्स है ना तो ये बेसिकली अलग-अलग टाइप्स हैं इसमें बहुत ज्यादा घुसने की जरूरत नहीं है बस एक चीज जो हम वापस आकर अपने मेन नोट्स में देखेंगे वो क्या है यहां आपको समझ आएगा कि दिस कंज्यूम्स टैक्स स्पेस वि रीच कॉल आपको ये ध्यान रखना है कि जो फंक्शन कॉल का स्टैक है वो रिकर्स सेव में हर बार यूज होता जाता है एप्लीकेशंस क्या हैं इसके आइडियल फॉर डिविजिबल टास्क यानी ऐसे टास्क जिनको छोटे सिमिलर टास्क में तोड़ा जा सकता है वहां रिकर्स सबसे ज्यादा यूज होता है मेमोरी इंटेंसिव है क्यों क्योंकि बार-बार आप जो स्टैक में जो है फंक्शन कॉल भी कर रहे हैं वेरिएबल भी लगा रहे हैं फंक्शन कॉल भी कर रहे हैं वेरिएबल भी लगा रहे हैं तो मेमोरी जो है काफी ज्यादा बढ़ी बढ़ती जाती है बट फायदा क्या है इसका कई बार बहुत कॉम्प्लेक्शन से काफी आसानी से सॉल्व हो जाती हैं तो देखिए अभी तो हमने एक एग्जांपल लिया है रिकर्स की बहुत सारी प्रॉब्लम्स हम जो एक्सरसाइज है उसमें सॉल्व करने वाले हैं ताकि हमको ये बात एगजैक्टली समझ आ जाए कि प्रॉब्लम को कैसे सोचना है कैसे तोड़ना है कैसे बेस केस आइडेंटिफिकेशन स्टैक फिलहाल हमारा जो चैप्टर है ये यहां पर हो जाता है कंप्लीट हमने पूरे के पूरे फंक्शंस की सारी की सारी चीजें देख ली और हमने देख लिया है रिकर्स भी कि रिकर्स को हमको किस तरह से चलाना है उम्मीद करता हूं आपको फंक्शन और रिकर्स समझ आए होंगे प्रैक्टिस एक्सरसाइज में बहुत सारी इसकी एक्सरसाइजस करेंगे उसके बाद चलेंगे नेक्स्ट टॉपिक की तरफ तो दोस्तों आ जाते हैं चैप्टर नंबर सिक्स की एक्सरसाइज पर एक चीज के लिए माफी चाहता हूं नोट्स में अभी भी जब हम पढ़ा रहे थे तो ऊपर चैप्टर के जो पॉइंट्स थे वो फाइव करके लिखे हुए थे कंफ्यूज मत होएगा फिफ्थ चैप्टर चैप्टर हम ऑलरेडी खत्म करके आए थे ये वाला चैप्टर था चैप्टर नंबर सिक्स व्हिच वाज फंक्शंस है ना इसकी एक्सरसाइजेज देखते हैं देखिए 50 से लेकर 58 तक यानी नाइन एक्सरसाइजेज नाइन प्रोग्रामिंग चैलेंज हमारे पास हैं हमको एक-एक करके सबको करना है अटेंप्ट करना है और जो भी हमसे नहीं होगा या हमको किसी में हेल्प चाहिए किसी का बेटर सॉल्यूशन चाहिए तो वह हम डिस्क्रिप्शन में जो वीडियो है सॉल्यूशन लिंक है वहां पर सारे के सबका सलूशन वीडियो सॉल्यूशन देख सकते हैं है ना तो क्या है पढ़ते हैं एक-एक करके क्रिएट अ फंक्शन ग्रीड नाम का फंक्शन है हेलो वर्ड आपको प्रिंट करना है ठीक है अगला क्या है चार इंटी जर पैरामीटर्स लेता है सबका सम आपको रिटर्न करना है फिर क्या है स्क्वायर यानी एक इंटी जर लेगा और आपको उसका स्क्वायर जो है रिटर्न करेगा बहुत अच्छी बात है अगला क्या है प्रिंट डेट देखिए डेट हमने नहीं पढ़ा है डेट आपको थोड़ा सा गल करना पड़ेगा देखिए फंक्शन क्या है कोई पैरामीटर नहीं लेता है कोई कुछ वापस भी नहीं करता है जब भी कोई प्रिंट डेट कॉल करेगा तो करंट डेट ये प्रिंट कर देगा थोड़ा गल करके देखिए नहीं समझ आता है तो सॉल्यूशन वीडियो तो आपके पास हमेशा है ही वहां से आप इसको भी देख सकते हैं क्रिएट अ फंक्शन मैक्स दैट टेक्स टू फ्लोट आर्गुमेंट दो फ्लोट आर्गुमेंट लेगा और जो भी मैक्स है उसकी वैल्यू रिटर्न करेगा फंक्शन दैट इंक्रीमेंट यहां पर देखिए क्या है कॉल बाय वैल्यू आपको दिखाना है यानी एक इंक्रीमेंट नाम का फंक्शन बनाइए उसके अंदर दिखाइए कि किस तरह से आपने उस बेसिकली अ नंबर को आपने इंक्रीमेंट किया फिर भी जब वापस जाएंगे मेन में तो वो नंबर इंक्रीमेंटेड नहीं है यानी कॉल बाय वैल्यू में जब आप फंक्शन में कोई चेंज करते हैं तो वो वापस मेन में रिफ्लेक्ट नहीं होता है ये आपको दिखाना है अगला क्या है गेट एवरेज आपको क्या करना है फाइव इंटी जर नंबर्स लेने हैं और उनका एवरेज आपको रिटर्न करना है अब आ गए हम रिकर्स पर देखिए काफी इंपॉर्टेंट है क्या रिकर्स से आपको क्या बनाना है फिना की सीरीज अब टू अ सर्टेन नंबर आपको प्रिंट करनी है और अगला क्या है रिकर्स से आपको बताना है कि एक नंबर पलिंड्रोम है या नहीं एक नंबर लीजिए और रिकर्स यूज़ करके बताइए कि वह नंबर पलिंड्रोम है या नहीं है देखिए सारे के सारे नौ के नौ क्वेश्चंस एक बार ट्राई जरूर करिएगा पढ़िए जरूर कुछ समय बताइएगा जब आपको नहीं समझ आता है तो आप ओबवियसली सॉल्यूशन देख सकते हैं बट जब तक आप अपने हाथ से कोशिश नहीं करेंगे कथा की तरह प्रोग्रामिंग सुन लेंगे बट समझ में नहीं आएगी ठीक है तो इतना एक बार ट्राई करिए उसके बाद चलेंगे अपने नेक्स्ट चैप्टर की तरफ तो दोस्तों चलिए शुरू करते हैं हमारा अगला चैप्टर जिसका नाम क्या है है पॉइंट्स अगर मैं एक चैप्टर का ऐसा नाम लूं जिससे बच्चों को सबसे ज्यादा डर लगता है सी में तो उसका नाम है पॉइंट्स और सच बताऊं मुझे आज तक समझ नहीं आया कि यह डर क्यों लगता है देखिए बहुत सारे प्रॉब्लम्स मैं मानता हूं पूछे जाते हैं ऐसे जो थोड़े से कन्फ्यूजिंग होते हैं पॉइंटर एरिथ मेे का चाहे आप ले लें या इन जनरल इंटरव्यूज में जो पूछे जाते हैं जो थोड़े से टफ साइड पर होते हैं बट इसका यह मतलब नहीं है कि पॉइंटर इन जनरल बहुत टफ टॉपिक है हम क्या करेंगे पहले बेसिक्स को एक बार ठीक से आप समझने की कोशिश करेंगे अगर आपको बेसिक एक बार ठीक से समझ आ गया तो उसके बाद कोई भी इशू नहीं है अभी इससे पहले हमने जो तीन चैप्टर्स पढ़े वो इन इस पॉइंटर से ज्यादा मुश्किल थे ज्यादा इंपॉर्टेंट थे ज्यादा लॉजिकल थे यहां पर क्या है बेसिक चीजें हैं एक दो चीजें हैं जो आपको समझनी है बहुत टाइम भी नहीं लगेगा पॉइंटर को पढ़ने में 25 से 30 मिनट में हम पॉइंटर पढ़ लेंगे बट थोड़ा सा ध्यान से देखिएगा ये पॉइंटर जिससे एक बार स्लिप हो जाता है तो इसका हआ बन जाता है इसका एक बेसिकली डर बन जाता है बच्चों के मन में कि पॉइंटर जो है वो बड़ा डिफिकल्ट टॉपिक है तो देखिए नंबर ऑफ पॉइंट्स भी कितने कम लिखे हैं हमने इंट्रोडक्शन देखेंगे एड्रेस ऑपरेटर वैल्यू ऑपरेटर दो-तीन चीजें देखेंगे पॉइंटर के बारे में और जो कॉल बाय वैल्यू हम पढ़कर आए थे उसका जो जोड़ीदार है कॉल बाय रेफरेंस उसको यहां पर देखेंगे ठीक है तो चलिए जल्दी से हम स्टार्ट करते हैं हमारा चैप्टर पॉइंट्स तो सबसे पहले क्या देखेंगे इंट्रोडक्शन यानी पॉइंटर यह एक्चुअली होता क्या है सबसे पहले यह समझने की कोशिश करेंगे और उसके बाद यह देखेंगे कि पॉइंटर अ का बेसिकली यहां पर मतलब है क्या देखिए सबसे पहला क्या है एड्रेस स्टोरेज आपको समझना है सबसे इंपॉर्टेंट पॉइंट है जो हमने आपके नोट्स में लिखा है क्या पॉइंट्स स्टोर मेमोरी एड्रेसस ऑफ अदर वेरिएबल राद दन द डाटा इट सेल्फ एक लाइन में पॉइंटर की जो डेफिनेशन है यह सबसे इंपॉर्टेंट सेंटेंस है शायद इस पूरे के पूरे चैप्टर का क्या पॉइंटर वो वेरिएबल हैं जो दूसरे वेरिएबल का एड्रेस स्टोर करते हैं वैल्यू स्टोर नहीं करते यानी उनकी अपने आप में कोई वैल्यू नहीं होती वो क्या है वो बस दूसरे लोगों का एड्रेस ही स्टोर करते हैं सबसे पहले नॉर्मल एक समझते हैं मान लीजिए ये जैसा हमने एक आपके नोट्स में लिखा है एक इंट मेन है मैंने सिंपल देखिए इंटी जर आई इ 3 एक वेरिएबल यहां पर डिक्लेयर किया है उसके बाद प्रिंट एफ लिखा कि i की वैल्यू क्या है वैल्यू ऑफ i इक्व ू परसेंटाइल d i मेरा यहां पर आ गया रिटर्न हमने रो कर दिया तो बहुत ही छोटा सा एकदम सिंपल प्रोग्राम है शायद पहले दूसरे चैप्टर से ही हम इसको लिखते आ रहे हैं इसने क्या किया हमने i की वैल्यू थ डिक्लेयर की थी तो इसने वैल्यू ऑफ i = 3 यहां पर आ गया परसेंटाइल d को इसने इंटी जर से रिप्लेस कर दिया इसमें क्या सर नई बात है कोई बात नहीं है बस नई बात हमको समझनी है जो इससे राइट में है यानी आपको इधर आके एक बार समझना है कि जब हम ये इंटी जर i = 3 लि लिखते हैं तो इसका मतलब क्या है यह हमने जब डेटा टाइप वाला चैप्टर पढ़ा था वहां भी ब्रीफ टच अपऑन किया था यहां अब इसको हम थोड़ा डिटेल में देखेंगे देखिए i इंटी जर i = 3 का पहले मतलब समझते हैं देखिए यहां हमने पहले भी पढ़ा था तीन चीजें हैं इसमें ये है इसका डेटा टाइप ये है इसका आइडेंटिफिकेशन कर रहे हैं अगर हम बोले इंटी जर i = 3 का कंपाइलर के लिए क्या मतलब है इंटी जर i = 3 का कंपाइलर के लिए मतलब है कि भाई मैं एक वेरिएबल बना बनाने वाला हूं जिसका नाम होगा आ सबसे पहली बात नाम दूसरी बात वो एक इंटी जर टाइप का वेरिएबल होगा आई एटी टाइप का अ डाटा टाइप होगा तो उसी हिसाब से उसका जो साइज है वो भी डिसाइड किया जाएगा उसी हिसाब से बेसिकली वो कितना बड़ा होने वाला है बेस्ड ऑन मशीन कुछ मशीनस में चार बाइट का होगा कुछ में आठ बाइट का होगा किछ में दो बाइट का होगा डिपेंडिंग ऑन आप 16 बिट पे हैं 32 बिट पे हैं 64 बिट पे हैं वो इंपॉर्टेंट नहीं है इंपॉर्टेंट ये है कि इंटी जर का एक पहले से साइज डिफाइंड है और इंटी जर को किस तरह से डील करना है ये डिफाइंड है तो हमने कंपाइलर को बोला कि भाई मैं एक टेबल बनाने वाला हूं जिसका साइज होने वाला है इंट उसका नाम आप रखेंगे आ और उसके अंदर वैल्यू आप डालेंगे थ्री तीन चीजें यानी टाइप होगा इंट नाम होगा आई और वैल्यू डालेंगे थ्री तो अगर आप इधर आकर देखेंगे तो देखिए इसने क्या बोला अब देखिए जब भी हम कोई वेरिएबल डिक्लेयर कर रहे हैं वो कहां डिक्लेयर हो रहा है जब आप अपना कंप्यूटर खोल कर देखते हैं तो उसमें जैसे रम लगाते हैं आप है ना तो रम के अंदर वेरिएबल जो है वो डिक्लेयर होता है तो ये क्या करेगा यहां पर रम में जाकर एक खाली जगह ढूंढेगा जिसको अभी कोई भी इस्तेमाल नहीं कर रहा है और कितने साइज की ढूंढेगा जो भी इंजर का साइज होगा अभी फिलहाल के लिए मान लीजिए फोर बाइट्स है है ना वो जो सिस्टम है मान लीजिए 32 बिट्स का सिस्टम है जो भी सिस्टम है जिसमें अभी चार बाइट का इंटी जर होता है तो वो जाएगा चार बाइट की कंटीन्यूअस एक जगह खाली ढूंढेगा जैसे ही उसको चार बाइट की जगह मिल जाएगी तो क्या करेगा उसका फिलहाल के लिए नाम रख देगा कि भाई इसका नाम हम रख रहे हैं आ अब वो जगह जहां मिलेगी उसका एक पर्टिकुलर एड्रेस भी होगा ये हमने पहले चैप्टर में भी समझा था कि सारी की सारी मेमोरी क्या है पूर एड्रेसस में डिफाइंड है जैसे भारत के या भारत के क्या दुनिया के जि जितने भी घर हैं जितनी भी जगह हैं सबका अपना एक एड्रेस है इसी तरह से पूरी की पूरी जो कंप्यूटर की मेमोरी है मेमोरी जब भी हम मेमोरी बोल रहे हैं इसका मतलब है रम जो लोग हार्ड डिस्क को मेमोरी समझते हैं उसको बोला जाता है स्टोरेज टेक्निकल टर्म्स में है ना तो वो लॉन्ग टर्म स्टोरेज के लिए होती है उसको यहां पर यूज नहीं किया जाता है जब आपका प्रोग्राम चल रहा है तो सिर्फ रम आपकी इस्तेमाल होती है तो रम में जितनी भी जगह हैं उन सबका अपना एक एड्रेस है तो वो क्या करता है वो सबसे पहले जाता है चार बाइट की कंटीन्यूअस जगह खाली ढूंढता है और उसके बाद मान लीजिए वो जो लोकेशन है वो मिला 6552 व जगह अब पूरे में लाखों करोड़ों जगह होंगी कोई भी एड्रेस आपको मिल सकता है मान लीजिए हमको 6552 जगह जो है वो वहां पर मिल गई तो उसने क्या किया उसके आसपास वाली तीन जगह और खाली कर ली यानी चार बाइट्स को खाली कर लिया उसका नाम रख दिया i और उसकी वैल्यू दे दी थ्र बस अभी पहले इतना ही समझना है कि इतना आपको समझ आ जाए कि एक वेरिएबल जब भी आप डिक्लेयर करते हैं उसका एक नाम रखा जाता है उसकी एक वैल्यू वहां पर रखी जाती है और वो एक एड्रेस पर पर्टिकुलर एड्रेस पर पड़ा होता है ठीक है और पॉइंट पॉइंटर क्या होते हैं पॉइंटर वो वेरिएबल होते हैं जो इन एड्रेसस को ही स्टोर करते हैं यानी ये जो एड्रेस है वो उसको अपने अंदर स्टोर अभी कैसे करता है क्या सिंटेक्स है वो सब अभी उस उस सब से परेशान नहीं होना है बस ये समझना है ऐसे कोई वेरिएबल भी हैं जो सिर्फ एड्रेस को स्टोर करते हैं यानी कोई आके आपसे पूछता है कि आपके दोस्त का घर कहां है आप बता देते हैं कि वो वाला घर मेरे दोस्त का घर है पर्टिकुलर एड्रेस बता द हैं कि वो दोस्त का घर है तो उस केस में आप पॉइंटर होंगे आपने कोई अपनी वैल्यू नहीं रखी आपने तो ये बोल दिया भाई उसके पास जाओगे तो ये सामान मिल जाएगा कई बार आप किसी दुकान पर जाते हैं बोलते नहीं हमारे यहां नहीं मिलेगा दो दुकान छोड़कर चले जाइए वहां मिल जाएगा तो उस केस में वो क्या बन गया वो पॉइंटर बन गया कि उसके पास अपने आप वो चीज नहीं है जो उसके पास होनी चाहिए पर उसके पास एड्रेस है उस चीज का कि वो चीज कहां पर मिलेगी ठीक है तो हम भी एक बार अपना कोड एडिटर खोल लेते हैं इतना ही लिखकर देखते हैं है ना हम इसी एग्जांपल को आगे बढ़ाते जाएंगे फैक्टोरियल का काम हमारा हो गया है चैप्टर नंबर सिक्स हो गया है पूरा एक नया चैप्टर बनाते हैं चैप्टर नंबर सेवन व्हिच इज पॉइंट्स ठीक है अभी फिलहाल फाइल का भी नाम मैं क्या रख लेता हूं मैं रख लेता हूं पॉइंट सी ठीक है एक्सप्लोरर को हम बंद कर देते हैं यहां किस तरह से बनाएंगे शश इंक्लूड एडी ए हमको बस बेसिक इतना ही एग्जांपल लिखना है क्या इंट मेन एक हमने वेरिएबल डिक्लेयर किया है क्या वेरिएबल है इंटी जर आ इ 3 है वेरिएबल का नाम और बस इसको हमने प्रिंट कर दिया तो बोलूंगा प्रिंट एफ वैल्यू ऑफ आ इज इक्वल टू परसेंटाइल डी लगाएंगे क्योंकि हमको इंटी जर दिखाना है और य यहां दे देंगे आई कि भाई इससे इसको रिप्लेस कर दीजिए रिटर्न जीरो मतलब रिटर्न सक्सेसफुली हमारा काम पूरा हो गया है अब क्या करेंगे इसको कंपाइल और रन करके देख लेते हैं अभी हम गलत फोल्डर में है यानी लास्ट फोल्डर में है आ जाते हैं सेवंथ फोल्डर के अंदर सेवन पॉइंट्स यहां फोल्डर बन गया है एलएस करेंगे देखिए पॉइंटर ड सी इसके अंदर आ गई है मेरे को क्या करना है मेरे को इसको करना है कंपाइल तो हम लिखेंगे जीसीसी पॉइंटर ड सी - o पॉइंटर डॉट आउट देखिए पॉइंटर डॉ आउट फाइल यहां पर बन गई होगी अब इसको चला लेते हैं माफ कीजिएगा डॉट स्ल पॉइंटर डॉट आउ तो क्या हुआ देखिए नॉर्मल वैल्यू ऑफ i = 3 जो यहां प्रिंट हुआ था वैल्यू ऑफ i = 3 वही हमारा प्रिंट हो गया है तो हमने वेरिएबल डिक्लेरेशन तो पहले ही देख लिया था सर इसमें कोड क्यों लिखा अभी इसलिए लिखा कि इसको अभी हम एग्जांपल को पकड़ कर चलेंगे और इसको ग्रो करते रहेंगे आगे-आगे तो हमने देख लिया कि एड्रेस कैसे होता है अब आ जाते हैं नेक्स्ट चीज पर एक ऑपरेटर आपको पहले समझना है पॉइंटर समझने से पहले समझना है ये सब है ना तो पॉइंटर में जाने से पहले हमको य एन पर्सन ऑपरेटर को समझना है काइंड ऑफ हम ये ऑलरेडी समझ चुके हैं जब हम स्कैन एफ करते हैं तो हम इन परसन ऑपरेटर को कब से यूज करते आ रहे हैं वहां हमने यही बात की थी कि जब भी कोई स्कैन एफ करता है तो वहां पर आपको वो एग्जैक्ट एड्रेस देना पड़ता है कि इस चीज को कहां पर स्टोर करना है इसलिए वहां इन परसन हम यूज करते हैं पहले इसी एग्जांपल में जाते हैं और एक बार एड्रेस ऑफ आ भी प्रिंट करके देखते हैं देखिए अभी हमने क्या प्रिंट किया था वैल्यू ऑफ i अब हम बोलते हैं कि अगर i का एड्रेस हमको प्रिंट करना है तो वह कैसे करेंगे एड्रेस ऑफ आ अब पहली बात तो ये समझनी है कि जब भी हमको एड्रेसस प्रिंट करने हैं तो तो उसके लिए एक दूसरा स्पेशल अ बेसिकली होता है जैसे यहां के लिए परसेंटाइल d है उसके लिए होता है परसेंटाइल p परसेंटाइल p का क्या मतलब है पॉइंटर यानी हम कोई एड्रेस यहां पर प्रिंट करने वाले हैं और एड्रेस कैसे प्रिंट करेंगे आप देंगे एन पर्सन ऑपरेटर जिसकी अभी हमने बात की और आई देखिए इस एन पर्सन ऑपरेटर का क्या मतलब है इसका ये मतलब है कि यार ये जो भी वेरिएबल है इसकी वैल्यू मुझे नहीं चाहिए इसका एड्रेस मुझे आप लाकर दीजिए इसका जो भी एड्रेस है वो मुझे लाकर दीजिए फिर से एक बार प्रोग्राम चलाकर देखते हैं इसको हमने किया कंपाइल फिर से किया रन इस बार देखिए क्या प्रिंट हुआ है अब वैल्यू में हम क्या दे देते हैं एक ब n दे देते हैं ताकि यह थोड़ा सा क्लीन हो जाए इसमें मैं आपको क्लीन करके माफ़ कीजिएगा क्लीन करके दोबारा चला कर दिखाता हूं देखिए हमने इस बार डायरेक्टली यहां से रन कर लिया क्या आ गया एड्रेस ऑफ़ i इज इक्वल ट दिस एंड वैल्यू ऑफ़ i = 3 अब देखिए जो हमने एग्जांपल लिया था तो हमने एड्रेस बड़ा सिंपल लिया था क्या 655 24 एक नॉर्मल इंटी जर नंबर लिया था यह एड्रेस किस तरह से आ रहा है 0x है ना एंड उसके बाद 16b d 1b 308 देखिए एक हेक्सा डेस फॉर्म होता है नंबर्स को लिखने का यानी नंबर्स को अभी आप एक दूसरे फॉर्म में लिख सकते हैं अभी जो हम नॉर्मल डेसीमल नंबर सिस्टम पढ़ते हैं इसमें रो से लेकर नाइन तक डिजिट होते हैं ये जो नंबर सिस्टम यूज कर रहा है उसमें रो से लेकर f तक डिजिट होते हैं यानी रो से लेकर नाइन होता है उसके बाद ए बी सी डी e ए इतने जो डिजिट्स हैं इनको डिजिट ही समझा जाता है वहां पर डिजिट्स और होते हैं ये मान कर चलिए है य एक नंबर ही अभी हमको इसके डिटेल में नहीं जाना है कि हेक्साडेसिमल नंबर्स क्या होते हैं बस ये समझिए ये एक्चुअली एक इंटी जर ही है इसको बस थोड़ा सा डिफरेंट तरह से हमने यहां पर लिखा हुआ है क्योंकि हमारी मेमोरी आजकल बहुत ज्यादा ज्यादा बड़ी हो गई है तो नॉर्मल नंबर्स में उसको नहीं लिखते हैं हेक्साडेसिमल में लिखते हैं क्योंकि इसमें थोड़ा ज्यादा नंबर्स फिट हो जाते हैं तो ये देखिए हमारा जो जब हमने अभी वेरिएबल आई डिक्लेयर किया है तो उसको क्या मेमोरी लोकेशन मिली है ये मेमोरी लोकेशन मिली है एक बार दोबारा चलाएंगे तो देखिए इस बार क्या मिला है इस बार लोकेशन चेंज हो गई है देखिए 16 6bd देखिए b के बाद अब यहां क्या आ गया 1573 08 क्योंकि देखिए प्रोग्राम एक बार चला खत्म हो गया वो वेरिएबल खाली हो गए अब जब हमने दोबारा प्रोग्राम को चलाया तो इसने दोबारा एक i i = 3 के लिए जगह मांगी होगी इस बार कहीं और राम में वो जगह मिली तो इस बार एड्रेस चेंज हो गया है तो आप एड्रेस की वैल्यू पर रिलाई नहीं कर सकते हैं कि एक बार ये वैल्यू मुझे मिल गई तो अब मैं यहां से कभी भी बेसिकली जो वैल्यू है वो निकाल लूंगा जभी भी आप डिक्लेयर करेंगे जभी भी आपका फंक्शन बेसिकली जो प्रोग्राम है वो रन होगा तो आपको नए-नए लोकेशन जो है वो मिल सकते हैं पर वो हमेशा ये बात याद रखिएगा कि जौन सी बार भी चल रहा है उसी बार में उसका नाम हमेशा आई होगा और वैल्यू उसके अंदर वो तीन डालेगा तो देखिए वैल्यू दोनों बार थ्री ही प्रिंट हुई है इसने दोनों के अंदर थ्री लिख दी है पर एड्रेस दोनों बार हमारा अलग-अलग प्रिंट हुआ है है ना तो एन पर्सन ऑ ऑपरेटर की अगर बात करें द एम पर्सन ऑफ ये जो बेसिकली एंड वाला ऑपरेटर है गेट्स द एड्रेस ऑफ वेरिएबल देखिए इसमें डबल वाले से आप कंफ्यूज मत होएगा जब दो एन पर्सन लगाते हैं तो वो एंड ऑपरेटर था जब सिंगल एन पर्सन लगाएंगे वेरिएबल के पहले तो वो होगा एड्रेस ऑपरेटर तो अगर आपको किसी भी वेरिएबल का कभी भी एड्रेस चाहिए तो आप उससे पहले एन पर्सन लगा दीजिए व क्या होगा उसका एड्रेस मिल जाएगा और सेम चीज हमने कहां यूज़ की है स्कन एफ में यूज़ की है जो हम पहले भी बात कर रहे थे कि स्कैनफ में जब आप बेसिकली वेरिएबल देते हैं तो आप उसकी वैल्यू नहीं देते उसका एड्रेस पास करते हैं और स्कैनफ को बोलते हैं कि भाई ये वेरिएबल जरा स्क्रीन से पढ़कर इस एड्रेस में जाकर सेव कर दीजिएगा तो वहां हम कब से n पर आई बेसिकली n परसन और हमारे वेरिएबल का नाम पास करते आ रहे हैं उसका और थोड़ा डीप मतलब यहां पर अब हमको क्लियर हो जाता है तो ये हो गया हमारा n पर्सन ऑपरेटर अब आते हैं नेक्स्ट ऑपरेटर पे जो क्या है स्टार ऑपरेटर देखिए ये कई कई लोग इस एन पर्सन ऑपरेटर को पॉइंटर ऑपरेटर भी बोलते हैं पॉइंटर ऑपरेटर देखते हैं बट इसका जो एग्जैक्ट नाम है वो क्या है वो है वैल्यू एट एड्रेस ऑपरेट क्या है वैल्यू एड एड्रेस ऑपरेटर तो एक बार वापस चलते हैं पहले इस एग्जांपल को फिर से हम थोड़ा आगे चेंज करते हैं देखिए मैं जो भी यहां पर कोड लिख रहा हूं यह एक-एक करके आपके नोट्स में ऑलरेडी लिखा हुआ है ताकि आपको एकदम क्लेरिटी रहे बट फिर भी हम हाथ से करेंगे तो थोड़ा सा ज्यादा अच्छा लगता है ज्यादा समझ आता है है ना तो इसलिए हम यहां हाथ से लिखते जा रहे हैं देखिए एग्जांपल सेम है अभी भी आ बनाया था हमने आ का एड्रेस प्रिंट किया आ की वैल्यू प्रिंट की है अब हम आपको एक और तरीका दिखा रहे हैं i की वैल्यू निकालने का कैसे मैं फिर से लिखता हूं वैल्यू ऑफ आ इ इ इक्वल टू परसेंटाइल d कॉमा आय देखिए एगजैक्टली जो ऊपर लिखा हुआ था वही मैंने यहां पर लिख दिया बट अब मैं क्या करूंगा मैं पहले अपना इन पर्सन ऑपरेटर यूज़ करूंगा मैंने कहा i पे मत जाना i का एड्रेस पर जाना अब एड्रेस पर तो वो चला गया पर एड्रेस प्रिंट करेंगे तो क्या होगा जो ऊपर हम पहले एड्रेस प्रिंट कर रहे थे वो एड्रेस प्रिंट होगा उसके बाद मैं बोलता हूं एक ब्रैकेट जरा आपके पास लगा देता हूं और मैं बोल रहा हूं एक्चुअली एड्रेस पर भी मत जाना उस एड्रेस पर जो वैल्यू है वहां चले जाना यानी हमने i को पहले i की एड्रेस में कन्वर्ट किया और अगर उस उस एड्रेस पर क्या वैल्यू है यानी ये क्या है एक दूसरे के ऑपोजिट है एक दूसरे के उल्टे हैं अगर किसी वेरिएबल का आपको एड्रेस चाहिए तो आप इन पर्सन ऑपरेटर यूज करेंगे और किसी एड्रेस की आपको वैल्यू चाहिए तो आप स्टार ऑपरेटर यूज करेंगे यानी वैल्यू एट एड्रेस ऑपरेटर देखिए इसका नाम ही क्या है वैल्यू एट एड्रेस यानी इस एड्रेस पर कौन सी वैल्यू है वह निकाल कर दे दीजिए अब इसको एक बार फिर से रन करके देखते हैं वापस अपना जो टर्मिनल हमने खोला हुआ था वो खोल लेते हैं इसको करते हैं कंपाइल हम शायद गलत ज पर आ गए हैं एक बार एलएस कर लेते हैं हां तो हमको जाना है सेवन पॉइंट्स के अंदर इसके बाद करेंगे इसको कंपाइल कंपाइल ये हो गया है उसके बाद इसको करते हैं रन अब देखिए इस बार क्या प्रिंट हुआ है वैल्यू ऑफ i प्रिंट हो गया है वैल्यू ऑफ सॉरी एड्रेस ऑफ आ प्रिंट हो गया इस बार देखिए कोई और एड्रेस मिला फिर से नया एड्रेस मिला उसका बाद वैल्यू ऑफ i प्रिंट हो गया पहले वाला हमने नॉर्मल आ प्रिंट किया और तीसरी बार में देखिए क्या हुआ पहले ही आ के एड्रेस पर गया उसके बाद उस एड्रेस की वैल्यू पर गया और वैल्यू तो ऑलरेडी थ्री है हमको पता ही है तो फिर से क्या हो गया थ प्रिंट हो गया तो एक एक तरह से ये क्या हो गए माइनस माइनस प्लस हो गए मान लीजिए इन्होंने काट दिया एक दूसरे को ये गया उसके एड्रेस पे ये वापस लाया वैल्यू तो वही प्रिंट हो गया जो i के साथ भी प्रिंट होना था तो दबा दोबारा अगर बात करें स्टार ऑपरेटर की स्टार ऑपरेटर क्या है वैल्यू एट एड्रेस ऑपरेटर यानी किसी भी पर्टिकुलर एड्रेस पर क्या वैल्यू है अगर मान लीजिए मुझे नहीं पता होता i मेरे पास डायरेक्टली एड्रेस होता अगर मैं इस एड्रेस के सामने स्टार लगा दूंगा तो ये मेरे लिए क्या निकाल कर ले आएगा थ्री निकाल कर ले आएगा तो स्टार ऑपरेटर इज कॉल्ड वैल्यू एट एड्रेस ऑपरेटर दिस ऑपरेटर इज यूज टू गेट द वैल्यू फ्रॉम अ पर्टिकुलर एड्रेस यानी एक पर्टिकुलर एड्रेस पर क्या वैल्यू है वो इस ऑपरेटर से निकाल ली जाती है ठीक है देखिए अ तक हम एकदम बेसिक पढ़ रहे हैं वेरिएबल डिक्लेयर करना हमने एक बार रिविजिट किया कैसे एड्रेस में सॉरी कैसे मेमोरी में बेसिकली वेरिएबल बनता है उसका एड्रेस होता है वेरिएबल डिक्लेयर होता है एन पर्सन ऑपरेटर का क्या मतलब है जो हम यूज करते आ रहे थे और एक नया ऑपरेटर भी हमने देख लिया जो एन पर्सन ऑपरेटर का एकदम उल्टा है एन पर्सन ऑपरेटर क्या करता है वेरिएबल का एड्रेस निकालता है और यह जो ऑपरेटर है ये उस पर्टिकुलर एड्रेस किसी भी पर्टिकुलर एड्रेस की वैल्यू निकालता है ठीक है अब आ जाते हैं नेक्स्ट चीज पर जो कि है अब हम एक्चुअली देखेंगे कि जो पॉइंटर की हमने डेफिनेशन सबसे पहली स्लाइड में पढ़ी थी क्या पढ़ी थी एक बार उसको रिवाइज कर लेते हैं पाच मिनट हो गए हम भूल गए होंगे पॉइंट्स स्टोर मेमोरी एड्रेसस ऑफ अदर वेरिएबल राद दन डाटा इट सेल्फ यानी ये वो वेरिएबल हैं जो क्या करते हैं और वेरिएबल का जो बेसिकली एड्रेस है उसको स्टोर करते हैं तो मान लीजिए मैं क्या करता हूं मैं एक पॉइंटर डिक्लेयर करता हूं कैसा पॉइंटर मैं डिक्लेयर करता हूं एस्क से मैं पॉइंटर डिक्लेयर करता हूं डिक्लेरेशन का सिंटेक्स क्या है व ये देखिए डिक्लेरेशन का सिंटेक्स है ये आप बोलते हैं आई एटी स्टार पीटीआर तो नॉर्मल अगर मैं इंटी जर को डिक्लेयर करना चाह रहा हूं तो मैं क्या लिखता था आई एटी पीटीआर है ना मैं कोई भी पीटीआर नाम का इंटी जर डिक्लेयर कर सकता हूं बट अब मैंने क्या बोला मैंने बोला स्टार पीटीआर अगर आप स्टार डिक्लेरेशन के टाइम पर यूज़ करते हैं तो ये क्या बोलता है ये कंपाइलर को ये बताता है कि ये जो वेरिएबल है ये एक्चुअली इंटी जर वेरिएबल नहीं है ये वेरिएबल इ बेसिकली किसी इंटी जर वेरिएबल का एड्रेस रखना चाहता है अपने पास और वो होगा क्या देखिए अगर मान लीजिए मैंने पीटीआर डिक्लेयर किया है और एक नंबर डिक्लेयर किया है तो अगर मैंने मान लीजिए यहां पर नंबर डिक्लेयर किया तो नंबर क्या करेगा एक और उसकी वैल्यू मैंने दे दी 26 और उसका एड्रेस आया 1100 तो एक नंबर डिक्लेयर कर दिया इसने वेरिएबल जिसकी वैल्यू है 26 एड्रेस है 1100 अब मैंने एक पॉइंटर डिक्लेयर किया और उसमें नम का एड्रेस डाल दिया तो ये अगर मैं कोड लिखूंगा तो कैसे लिखूंगा देखिए सबसे पहले तो मेरे को एक इंटी जर नंबर डिक्लेयर करना है मैंने लिखा इंटी जर नंबर इज इक्वल टू क्या होगा 26 है ना ये तो इंसीडेंटल है कि एड्रेस मुझे कौन सा मिल गया ये इंपॉर्टेंट नहीं है उसके बाद डिक्लेयर करूंगा पॉइंटर तो मैं लिखूंगा आई एटी पॉइंटर पीटीआर यहां स्पेस है है ना इक्वल टू मैं कैसे लिखूंगा n परन लगाएंगे मैं क्या चाहता हूं नंबर का जो एड्रेस है व पीटीआर में स्टोर हो जाए नंबर का एड्रेस कैसे निकलेगा n पर नंबर से तो मैं लिखूंगा n पर नंबर यानी ये जो भी एड्रेस आया व्हिच इज 1100 यह आप पीटीआर के अंदर स्टोर कर दीजिए तो पीटीआर के अंदर क्या वैल्यू सेव हो गई है 1100 सेव हो गई है यह है सिंपलिस्टिक एग्जांपल क्योंकि यहां पर जो एड्रेसस हैं वह हमने नॉर्मल नंबर लिए हुए हैं बट एक्चुअली एड्रेसस कैसे हैं हेक्साडेसिमल में है जैसे आपने देखा तो अगर मैंने वेरिएबल डिक्लेयर किया होता मान लीजिए v के नाम से नम की जगह v के नाम से डिक्लेयर किया होता जिसकी वैल्यू होती 10 और जिसका एड्रेस होता ये हेक्साडेसिमल में 0x 7 f एफ व्हाट एवर तो क्या होगा अगर मैं पीटीआर में इसका एड्रेस स्टोर करूंगा तो ये जो वैल्यू है dd4 देखिए ये इसकी वैल्यू बन गई है और ये इसका अपना एड्रेस है देखिए है ये भी एक वेरिएबल ही ये भी बाकी लोगों की तरह वेरिएबल है तो इसकी ये इस बात से फर्क नहीं पड़ता कि ये किसी और वेरिएबल का एड्रेस स्टोर करता है इसका अपना भी तो कोई एड्रेस होगा इसको भी अगर हमको मेमोरी में कोई जगह देनी है तो यह भी किसी एड्रेस पर जाएगा है ना तो अब मान लीजिए जो लोग लोगों के घर बनाते हैं वो ऐसा थोड़ी कि किसी घर में रहेंगे ही नहीं तो यह क्या है लोगों के घर का एड्रेस रखते हैं घर बनाते हैं जो भी करते हैं ये जो पॉइंटर है तो इसको भी मेमोरी में कहीं ना कहीं जगह देनी पड़ेगी रहने के लिए ये एड्रेस को एक्चुअली स्टोर करने के लिए तो क्या होगा इसका जो एड्रेस है ये यहां पर स्टोर कर लेगा अभी और थोड़ी सी क्लेरिटी आएगी जब हम एक्चुअली इसको चला कर देखेंगे तो इस बार हम क्या कर रहे हैं i के साथ-साथ हम एक पॉइंटर डिक्लेयर कर रहे हैं जे और जे के अंदर हम क्या करेंगे आ का एड्रेस जो है वो डालेंगे तो यहां हम क्या करते हैं i के साथ अब एक पॉइंटर डिक्लेयर करते हैं मैं बोलता हूं i पॉइंटर j और इसकी वैल्यू क्या होगी एड्रेस ऑफ i देखिए दो लाइन बड़ी इंपॉर्टेंट हो गई है पहले तो ये नॉर्मल वेरिएबल डिक्लेरेशन था बट अब मैंने इसको क्या बना दिया है मैंने इसको स्पेशल बना दिया है कैसे मैंने यहां पर एक पॉइंटर डिक्लेयर कर दिया है सबसे पहले डिक्लेरेशन का सिंटेक्स देखेंगे इंटी जर स्पेस मैंने क्या लगा दिया पॉइंटर स्टार ज तो ये मैंने पॉइंटर डिक्लेयर कर दिया कि भाई j एक पॉइंटर होगा अब j के अंदर मैं नॉर्मल इंटी जर वैल्यूज नहीं लिख सकता मैंने बोला ये एक पॉइंटर है तो पॉइंटर क्या स्टोर कर सकता है एड्रेस स्टोर कर सकता है तो मैंने बोला कौन सा एड्रेस स्टोर करेगा ये भाई i का एड्रेस स्टोर कर लेगा और आ का एड्रेस निकालने के लिए मैंने अपना इन परसन ऑपरेटर यूज़ कर लिया जो हम अभी-अभी पढ़कर आए थे है ना तो क्या हुआ i जो है वो स्टोर आ का जो एड्रेस है वो स्टोर हो गया है j में उसके बाद हम क्या करेंगे पहले दोनों के एड्रेसस प्रिंट करेंगे मान लीजिए हमने i का भी एड्रेस प्रिंट किया है जे का i का भी और j का भी तो क्या है i का हमने यहां पर एड्रेस प्रिंट किया है अगर हम j प्रिंट करेंगे तो भी i का एड्रेस प्रिंट होगा देखिए मैं आपको दिखाता हूं क्या मैं बोल रहा हूं हमने एड्रेस ऑफ i प्रिंट किया एड्रेस ऑफ i प्रिंट करने का दूसरा तरीका क्या है अगर मैं यहां पर सिर्फ j लिख दूं सिर्फ j तो क्या होगा देखिए j के अंदर ऑलरेडी क्या है एस्क आई है तो क्या होगा यहां पॉइंटर में आपको डिक्लेरेशन में जरूर आपको एस्ट्रक जे दिख रहा है इसको लिखने का दूसरा तरीका क्या है इसको मैं एक बार यहीं छोड़ देता हूं अब मैं दिखाता हूं आपको एक तरीका ये है कि मैं पहले करूं डिक्लेयर और उसके बाद j = n पर i करूं ये शायद थोड़ा सा ज्यादा क्लियर है देखिए जब हम वैल्यू असाइन कर रहे हैं वैल्यू हम j में ही असाइन कर रहे हैं ये सिर्फ डिक्लेरेशन के लिए है तो यहां सिंगल लाइन में देखकर यह मत समझिए कि पॉइंटर में जब भी हम कोई वैल वैल्यू डालते हैं तो उसके लिए एस्क j लिखना पड़ता है नहीं लिखेंगे नॉर्मल j ही तो देखिए यहां पहले मैंने डिक्लेरेशन के टाइम पर इसको क्या बताया डिक्लेरेशन के टाइम पर बताया कि भई एक पॉइंटर है एस्क लगा के बट जब मुझे उसके बाद j के अंदर वैल्यू डालनी थी तो मैंने क्या बोला i के एड्रेस को आप j के अंदर डाल दीजिए अब i का एड्रेस क्या है या तो मैं इन पर्सन i से निकाल सकता हूं या मैं j डायरेक्ट लिख दूंगा तो भी i का एड्रेस ही निकल आएगा और मैं किसका एड्रेस प्रि प्रिंट कर सकता हूं मेरे पास एक वेरिएबल और आ गया है j यह आपको यह दिखाने के लिए कि j भी बेचारा एक नॉर्मल वेरिएबल है उसका भी अपना एक एड्रेस है तो j का भी एड्रेस प्रिंट हो गया देखिए वैल्यू ऑफ हम वैल्यू में भी पहले क्या-क्या कर सकते हैं j की वैल्यू प्रिंट कर सकते हैं और i की वैल्यू बहुत सारे तरह से प्रिंट कर सकते हैं कैसे पहले j की वैल्यू प्रिंट कर लेते हैं देखिए j की वैल्यू तो प्रिंट करना बड़ा आसान है वैल्यू ऑफ j अब ये क्या करेंगे देखिए j एक पॉइंटर है तो पॉइंटर की वैल्यू दिखाने के लिए हमको क्या यूज़ करना पड़ेगा परसेंटाइल p ही यूज़ करना पड़ेगा और वैल्यू कर देंगे j जब तक कोई नॉर्मल इंटी जर नहीं है सिर्फ नॉर्मल इंटी जर जो वैल्यूज हैं उन्हीं को हम कहीं से दिखा सकते हैं परसेंटाइल d से दिखा सकते हैं जहां पर भी किसी भी चीज का एड्रेस आ रहा है j क्या है j की वैल्यू अपने आप में एक एड्रेस है तो मेरे को क्या यूज करना पड़ेगा परसेंटाइल p यूज़ करना पड़ेगा उसके बाद देखिए i की वैल्यू या तो आप ऐसे देख सकते हैं या ये जो तरीका हमने स्टार एस्टस किया था ऐसे भी देख सकते हैं एक और तरीका अब क्या है i की वैल्यू निकालने का जब मेरे पास j है तो मैं क्या लिखूंगा अगर मैं j लिखूंगा तो वो i का एड्रेस है बट अब मैं क्या कर सकता हूं जब जहां भी मैं लिखूंगा बेसिकली एस्क j इसका मतलब है वैल्यू एट एड्रेस और ज जे क्या करेगा यहां पर ज अगर कहीं पर भी आप नॉर्मल ज लिख रहे हैं कहीं भी नॉर्मल वेरिएबल लिखते हैं तो उसकी वैल्यू यूज होती है जहां पर भी हम i लिख रहे हैं तो क्या होता है i की वैल्यू यूज होती है व्हिच इज थ्री तो अगर मैं j लिखूंगा तो j की वैल्यू क्या है i का एड्रेस तो अब मैंने बोला i के एड्रेस पर जो वैल्यू है स्टार क्या बोल रहा है जो वैल्यू है वो आप मुझे लाकर दीजिए तो ये क्या करेगा यही वाली जो वैल्यू है इसको यहां पर मिल जाएगी है ना तो क्या होगा एस्क ज का क्या मतलब होगा वैल्यू एट ज है ना तो यहां पर क्या हुआ देखिए तीनों के तीनों ये बेसिकली हमारे सॉल्व हो गए हैं इसको एक बार मैं दोबारा आपको रन करके दिखाता हूं मैंने इसको कर लिया कंपाइल और उसके बाद किया पॉइंटर आउट अब देखिए एक-एक करके क्या हुआ पहले एड्रेस ऑफ i एड्रेस ऑफ i क्या मिल गया यह मिल गया 238 बहुत अच्छी बात है अब एड्रेस ऑफ़ i मैंने j प्रिंट किया तो देखिए तो भी क्या वैल्यू आई सेम ही वैल्यू आई है जो ऊपर वाली वैल्यू है वही वैल्यू यहां पर आ गई है उसके बाद मैंने क्या बोला एड्रेस ऑफ j j का एड्रेस मैंने प्रिंट कर दिया अब देखिए j को कोई और मेमोरी लोकेशन मिली है इसको मिला है 238 एकदम आसपास ही है इसको मिल गया है 230 अगर मैं वैल्यू ऑफ j प्रिंट कर रहा हूं तो वैल्यू ऑफ j क्या है i का एड्रेस है तो देख देखिए फिर से ये 238 वाली चीज जो है वो प्रिंट हो जाती है क्योंकि j की वैल्यू क्या है i का एड्रेस है वैल्यू ऑफ i क्या है थ्री है ये हमको पता है एस्क और n पसन i लगाकर क्या मिला तब भी थ्री मिला और डायरेक्ट एस्क j लगाकर क्या मिला तब भी थ्री मिला क्यों क्योंकि देखिए सब लोग पॉइंट तो i की वैल्यू पर ही कर रहे हैं j क्या कर रहा है i का एड्रेस है उसकी वैल्यू निकाल रहा है i का एड्रेस निकाल कर फिर वैल्यू निकाल रहा है और i जहां आप नॉर्मल लिखते हैं तो उसकी किसी भी वेरिएबल की वैल्यू आती ही है तो तीनों की वैल्यू जो है हमारे लिए सेम आई है व्हिच इज थ्री है ना तो उम्मीद कर रहा हूं ये भी आपको समझ आ गया है कि पॉइंटर हमको डिक्लेयर कैसे करना है और पॉइंटर हमको यूज़ कैसे करना है और अब ये जो एन पर्सन ऑपरेटर है और जो एस्क ऑपरेटर है ये दोनों हम कितने अच्छी तरह से यहां पर यूज़ कर पा रहे हैं है ना हमने देख लिया पॉइंटर डिक्लेयर कैसे करना है और हमने देख लिया पॉइंटर यूज़ कैसे करना है उसके अंदर वैल्यू डालनी कैसे है और उसके अंदर की वैल्यू डायरेक्ट सिर्फ मतलब अगर हमको एड्रेस यूज़ करना है तो एड्रेस कैसे यूज़ करना है और वैल्यू एट एड्रेस यूज़ करना है तो वो कैसे करना है दोनों ही चीजें हमने यहां पर देख लिए है ना उसके बाद अगली चीज पर आते हैं व्हिच इज पॉइंटर टू अ पॉइंटर देखिए नेक्स्ट लेवल हो गया यानी क्या पॉइंटर जब अपने आप में एक हमने बोला वेरिएबल है जिसका खुद का एड्रेस है तो क्या उसका एड्रेस भी कोई और रख सकता है बिल्कुल रख सकता है अब देखिए यहां क्या सिचुएशन है यहां v नाम का एक इंटी जर वेरिएबल है जिसकी वैल्यू 10 है और जिसका एड्रेस 2008 है है ना हमने पहले एक दूसरा पीटीआर व डिक्लेयर किया एक पॉइंटर डिक्लेयर किया पीटीआर व जिसके अंदर क्या है देखिए वैल्यू इसकी क्या है 2008 यानी ये क्या कर रहा है जो बेसिकली मेरा जो वेर है इसकी वैल्यू रख रहा है मान लीजिए मैं साइड में आपको कोड लिख कर दिखाता हूं मैंने पहले लिखा इंटी जर स्वार इ इक्वल टू 10 है ना मान लीजिए उसको एड्रेस मिल गया होगा 2008 फिर हमने एक पॉइंटर डिक्लेयर किया है तो मैं बोल रहा हूं इंटी जर पॉइंटर पीटीआर 1 इज इक्वल टू अब पीटीआर व में हम किसका एड्रेस डाल रहे हैं वेयर का तो हम लिख देंगे n पर्सन वेर है ना मेरी राइटिंग को थोड़ा माफ कीजिएगा कोड समझने की कोशिश करिए है ना एस रिस्क पीटीआर 1 = n पर्सन वेर यानी मैंने बोला भाई वेयर का एड्रेस पीटीआर व में डाल दीजिए अब हमने एक और पॉइंटर डिक्लेयर किया जिसको हमने बोला क्या भाई आपके अंदर एड्रेस होगा किसी एक पॉइंटर का तो इसकी डिक्लेरेशन हम कैसे करेंगे देखिए हमने नेक्स्ट स्लाइड में यहां आपके लिए दिखाया भी है इसकी जब आप पॉइंटर टू पॉइंटर डिक्लेरेशन करेंगे तो आप क्या लगाएंगे दो एस्क लगाएंगे दिस मींस दिस इज अ पॉइंटर टू अ पॉइंटर तो मैंने बोला एस्क एस्क पीटीआर 2 = n पसन pt1 है ना थोड़ा स्क्रीन से बाहर निकल गया बट समझने की कोशिश करिएगा अब देखिए जब हम नॉर्मल इंटी जर का एड्रेस रख रहे थे तो हमने बोला इंटी जर स्टार अब अगर इंटी जर स्टार का एड्रेस आप रख रहे हैं तो आप बोलेंगे इंटी जर स्टार यानी डबल पॉइंटर ये क्या है पॉइंटर टू अ पॉइंटर है और इसके अंदर वैल्यू कैसे डालेंगे वो आप n पर पीटीआर 1 लगा कर ही डाल सकते हैं क्योंकि पीटीआर 1 का जो एड्रेस है वो कैसे निकलेगा n परस पीटीआर व्हिच इज 4020 4020 4020 और वो मैंने निकाल कर कहां डाल दिया पीटीआर 2 के अंदर डाल दिया है तो अब पॉइंटर टू अ पॉइंटर इज अ टाइप ऑफ पॉइंटर दैट स्टोर्स एड्रेस ऑफ अनदर पॉइंटर ये कैसा है थोड़ा सा स्पेशल पॉइंटर है जो पॉइंटर का भी पॉइंटर है अलांग इनडायरेक्ट एक्सेस टू द वैल्यू ऑफ वेरिएबल इसे क्या इनडायरेक्ट एक्सेस है मैं पहले पीटीआर अगर मैं इसकी वैल्यू भी निकालना ना चाहूं तो मैं कैसे लिखूंगा मान लीजिए मैं लिखूंगा pt2 लिखा तो मैं इस वाली वैल्यू पर आया अब मुझे 4020 पर क्या वैल्यू है पहले वो चाहिए तो मैं लगाऊंगा एक स्टार जैसे ही मैंने एक स्टार लगाया तो 4020 की वैल्यू 2008 निकाल कर मेरे को दे देगा अब मैं इस पे लगाऊंगा दूसरा स्टार कि इसकी भी वैल्यू निकाल नाहा हो 20008 पर जाएगा और मेरे को 10 वैल्यू निकाल कर ला देगा तो अगर मुझे इससे डायरेक्ट वैल्यू चाहिए वार की तो मैं कैसे करूंगा एस्क एस्क पीटीआर 2 इसका एक एग्जांपल दोबारा से यहां पर करके देख लेते हैं कैसे मैं पहले k को डिक्लेयर करता हूं k के अंदर डालते हैं j का भी एड्रेस और उसके बाद ये सब हम प्रिंट करके देखते हैं तो अब हम यहां क्या बोल रहे हैं मैं यहां एक और पॉइंटर डिक्लेयर करूंगा व्हिच विल बी इंटी जर पॉइंटर पॉइंटर के k क्या करने वाला है जे का एड्रेस स्टोर करने वाला है तो k इक्वल टू मैं क्या लिखूंगा एड्रेस ऑफ ज आप क्या करिए एड्रेस ऑफ जे जो है वो स्टोर कर लीजिए हमने क्या-क्या प्रिंट किया है देखिए एड्रेस ऑफ आई आई आई आई का एड्रेस प्रिंट करने के तीन तरीके हैं जे जे एंड के तो हमने आई आई और जे किया है तो मैं आई आई आई एक और कर लेता हूं है ना एंड देन जे जे माफ कीजिएगा एंड एक और हमको करना है k है ना देखिए हमने यहां क्या किया है एड्रेस ऑफ i निकालने का क्या क्या तरीका है एक तो बेसिकली परसेंट सॉरी इन परसन आ है कि i का एड्रेस दे दीजिए j के अंदर मैंने वही स्टोर किया है ये भी तरीका है i का एड्रेस निकालने का i का एड्रेस अब निकालने का एक तरीका ये है कि अगर मैं स्टार के लिख दूं तो स्टार के का क्या मतलब है देखिए k में किसका एड्रेस है k में है j का एड्रेस पर j की वैल्यू क्या है आ की वैल्यू क्या है i का एड्रेस है तो मैंने लिख दिया देखिए थोड़ा सा अ ये कंफ्यूज ंग हो रहा होगा बट आप थोड़ा सा अगर डायग्राम बनाकर इस इस तरह का डायग्राम बनाकर जो हमने बेसिकली पिछली बार बनाकर रखा था पिछली स्लाइड में अगर आप ये वाला डायग्राम बनाकर इसको देखेंगे तो आपको बड़ा ही सिंपल लगेगा कैसे जब हमने स्टार के लिखा तो स्टार के कहा गया ये गया कि k के अंदर जो भी एड्रेस है उसकी वैल्यू निकाल नाइ है तो उसकी वैल्यू क्या है उसकी वैल्यू है j की वैल्यू और j की वैल्यू क्या है i का एड्रेस अब j का एड्रेस निकालने के दो तरीके हैं या तो मैं लिखूं इन पर्सन ज व्हिच इज फाइन या अगर मैं सीधे k लिख दूं तो k के अंदर भी क्या है j का एड्रेस ही है तो ये भी प्रिंट हो गया और एड्रेस ऑफ k तो हमको पता ही है हम कैसे कर सकते हैं सॉरी अगर एड्रेस ऑफ k मेरे को करना है तो मैं बोलूंगा एड्रेस ऑफ k है ना क्योंकि k का भी अपना एक एड्रेस होगा है ना k का भी अपना एक एड्रेस है वो हमने यहां पर दिखा दिया अब अगर हम वैल्यू दिखानी है तो वैल्यू ऑफ j दिखाएंगे k दिखाएंगे और उसके बाद i के तीन तरीके दिखाएंगे तो वैल्यू ऑफ j पहले से दिखा रखा है हमने वैल्यू ऑफ k दिखा देंगे कैसे देखिए k भी क्या है एक पॉइंटर है तो हम क्या करेंगे एस्क p ही यूज करेंगे और यहां दिखा देंगे k उसके बाद आई आई एक i मेरे को और लगाना है एक और आ की वैल्यू निकालने का क्या तरीका है मैं करूं डबल पॉइंटर के जो भी मैं बोल रहा था यानी पहले k की वैल्यू k की वैल्यू क्या है j का एड्रेस अब उसकी वैल्यू निकालिए एस्क ज तो हम चले गए j के एड्रेस पे है ना j की एड्रेस पे जो वैल्यू है और उसकी भी वैल्यू निकाली है तो हम चले गए i की वैल्यू पे तो ये सारी की सारी यहां पर प्रिंट हो जाएंगी एक बार इसको दोबारा से करते हैं कंपाइल इसको मैं करता हूं क्लियर और इसको करते हैं रन तो देखिए अब क्या हुआ i का अपना एक एड्रेस है जो प्रिंट हो गया i के एड्रेस प्रिंट करने के हमने तीन तरीके यहां पर निकाले है ना n पर्सन आ से भी आ का एड्रेस आया जे से भी आ का एड्रेस आया एस के से भी आ का एड्रेस आया उसके बाद हमने बोला एड्रेस ऑफ ज एड्रेस ऑफ जे हमने प्रिंट कर दिया एड्रेस ऑफ जे प्रिंट करने के भी हमने दो तरीके निकाल लिए क्या एड्रेस ऑफ j के प्रिंट करने के क्या तरीके हैं एक तो एड्रेस ऑफ जे एड्रेस पॉइंटर आप एड्रेस ऑपरेटर आप यूज़ कर सकते हैं या k के अंदर पहले से ही j का एड्रेस है वो भी हमने यहां पर दिखा दिया एड्रेस ऑफ k दिखाने का क्या पर तरीका है बस ऑपरेटर आप यूज़ कर लेंगे एड्रेस ऑफ के तो देखिए i का एड्रेस अलग है j का एड्रेस अलग है और k का एड्रेस अलग है ये 228 लोकेशन पर स्टोर्ड है ये 230 पर ये 238 पर ठीक है अब वैल्यू देखेंगे तो j की वैल्यू क्या है j की व मैंने डायरेक्टली प्रिंट कर दी व्हिच इज अगेन i का एड्रेस k की वैल्यू क्या है j का एड्रेस और i निकालने के हम तीन तरीके पहले ही देख चुके थे एक नया तरीका हमने देखा डबल पॉइंटर के व्हिच विल अगेन पॉइंट टू वैल्यू 3 ठीक है उम्मीद करता हूं यह भी आपको समझ आया होगा बहुत इलब एग्जांपल हमने लिया है है ना काफी पॉपुलर एग्जांपल है तो इससे काफी सारी चीजें आपको समझ आ गई होंगी अब आ जाते हैं अपनी लास्ट चीज पर लास्ट टॉपिक ऑफ पॉइंट्स व्हिच इज कॉल बाय रेफरेंस देखिए कॉल बाय वैल्यू हमने पढ़ लिया था अब हम आ गए हैं कॉल बाय रेफरेंस पर यानी अगर आप कभी सच में ऐसा बेसिकली फंक्शन चाहते हैं जिसका साइड इफेक्ट क्या हो मेन वैल्यूज में भी दिखाई दे तो आप क्या कर सकते हैं कॉल बाय रेफरेंस आप यूज कर सकते हैं व्हिच इज कॉल बाय रेफरेंस पासेस द एड्रेसस ऑफ वेरिएबल अलाउ फंक्शंस टू मॉडिफाई द एक्चुअल वैल्यूज यानी यहां पर आप क्या बोल रहे हैं यहां पर आप ये बोल रहे हैं कि राद देन आप क्या करें आप अपने वेरिएबल को पास करें आप अपने वेरिएबल के एड्रेसस को पास कर दीजिए जिससे क्या हो जिससे आपका काम पूरा हो जाए तो अभी क्या करते हैं जो हम स्वप हमने पहले लिखा था वो स्वप हम दोबारा लिखने की कोशिश करते करते इस बार पॉइंटर के अंदर और उसको देखेंगे कि इस बार हम कैसे लिखेंगे तो मैंने लिख दिया स्ड स बाकी चीजों को मैं कर देता हूं बंद है ना और अब इसको लिखना स्टार्ट करते हैं तो मैं लिखूंगा हैश इंक्लूड एसटीडी देखिए पिछली बार जो हमने सॉप मेथड लिखा था उसका तो कोई मतलब ही नहीं था यानी वो अपना काम पूरा कर ही नहीं पा रहा था जो उसको काम एक्चुअली करना था तो पहले डिक्लेरेशन करेंगे देखिए क्या है रिटर्न तो कुछ कर नहीं सकता हमको क्या करना है उन्हीं वेरिएबल की वैल्यू चेंज करनी है सो आपका मतलब क्या है दोनों की वैल्यू बदल देना है है ना इस बार बार मैं क्या बोल रहा हूं इस बार मैं बोल रहा हूं कि इंटी जर पास नहीं कर सकते आप हमको इंटी जर पॉइंटर पास कर सकते हैं यानी आप अपने जो भी आपके वेरिएबल है उनके एड्रेसस आप हमको पास करेंगे और एड्रेस लेने के लिए कौन माहिर है एड्रेस लेने के लिए माहिर है जो भी पॉइंटर वेरिएबल है तो हमने बोला इंटी जर पॉइंटर दीजिए और इंटी जर पॉइंटर दीजिए हम इनको स्वप कर देंगे ठीक है अब आ जाते हैं इंट मेन के बाद पहले हम इसको डिफाइन करते हैं तो मैं बोलता हूं इं स्वप इसको हम बोल ते हैं पीटीआर व कॉमा इंटी जर स्टार पीटीआर 2 दोनों के दोनों पॉइंटर आप हमको यहां पर दे देंगे अब हमारे पास दो पॉइंटर है और हमको इनको करना है स्वप तो मैं क्या करूंगा तो मैंने पहले किया था टेंपरेरी में पहले डालेंगे हम वैल्यू वैल्यू क्या है देखिए पीटीआर व क्या है पीटीआर व तो एड्रेस है उस एड्रेस पर वैल्यू मुझे निकालनी है तो मैं क्या करूंगा मैं लिखूंगा एस्क पीटीआर व यानी पीटीआर व जिस भी इंटी जर को पॉइंट करता है उसकी वैल्यू निकाल लाइए और उसकी वैल्यू टेंप में रखिए ठीक बात है है उसके बाद मैं बोलूंगा एस्क पीटीआर 2 और जो दूसरे वाला वेरिएबल है उसकी वैल्यू में कौन सी वैल्यू आप रख दीजिए उसके अंदर जाकर आप वैल्यू रख दीजिए एस्क सॉरी अब पीटीआर व के अंदर आप जाकर वैल्यू रख दीजिए किसकी पीटीआर 2 की और उसके बाद क्या करेंगे एस्क पीटीआर 2 ट 10 तो हमने किया अभी भी वही है जो पहले किया था बट इस बार हमने क्या बोला है इस बार हम हर बार उनके एड्रेसस की वैल्यू जाकर चेंज कर रहे हैं इसको अब चलाकर मैं आपको दिखाता हूं मान लीजिए हम क्या करते हैं दो वेरिएबल अपने बना लेते हैं x = 4 एंड y = 87 ठीक है इसके बाद हम क्या करेंगे हम करेंगे कॉल स्प को पर इस बार हमको एकस और y पास नहीं करना है एक्स का एड्रेस और y का एड्रेस पास करना है तो मैंने बोला एन पर्सन x एंड पर्सन वा है ना एक्स का भी एड्रेस पास कर दिया और y का भी एड्रेस पास कर दिया उसके बाद अब क्या करेंगे अब कर लेते हैं इनको प्रिंट तो प्रिंट एल ए वैल्यू ऑफ एकस इल टू परसेंटाइल डी वैल्यू ऑफ वा इक्वल टू परसेंटाइल डी और य क्या दे देंगे एक्स और वा की वैल्यू हम दे देंगे इसको क्या करते हैं इसको एक बार पास करने से पहले भी प्रिंट कर देते हैं और पास करने के बाद भी प्रिंट कर देते हैं सिमिलरली यहां पर हम प्रिंट कर देते हैं वैल्यू ऑफ पीटीआर व एंड वैल्यू ऑफ पीटीआर है ना और यहां क्या दे देंगे एन परसन पीटीआर व नी हम वैल्यू ऑफ पीटीआर व नहीं प्रिंट कर रहे हैं हम एक्चुअली वैल्यू ऑफ वैल्यू एट पीटीआर व प्रिंट कर रहे हैं है ना कि पीटीआर व के अंदर क्या वैल्यू है और टू के अंदर क्या वैल्यू है यह जिसको भी पॉइंट करते हैं उनके अंदर वैल्यूज क्या-क्या है अब इसको हम करते हैं कंपाइल तो लिखते हैं जीसीसी स्प डॉट सी - स्प डॉट आउट हमने यहां पर कर दी है गड़बड़ सॉरी मैंने प्रिंट एलन थोड़ा सा जावा मेरे को याद आ गई हमको लिखना क्या था प्रिंट f बीच-बीच में जावा के मुझे सपने जो हैं वह आते रहते हैं जावा में बेसिकली फंक्शन होता है सिम डड प्रन मैं उसकी तरह यहां पर लिखने लग गया था इसको दोबारा कंपाइल करते हैं देखिए इस बार कोई एरर नहीं है अब इसको चला कर देखते हैं डॉट स्ल स्प आउट अब देखिए क्या हुआ अच्छा हम बैक स्ल ए फिर भी लगाना भूल गए काफी ज्यादा कन्फ्यूजिंग आउटपुट आया है एक दो चीजें ऐसी हैं जो मैं हमेशा ही भूलते रहता ठीक है इसको फिर से चलाते हैं कंपाइल एंड रन देखिए सबसे पहले क्या प्रिंट हुआ x की वैल्यू प्रिंट हुई और y की वैल्यू प्रिंट हुई x की वैल्यू प्रिंट हुई फोर व्हिच इज करेक्ट y की वैल्यू प्रिंट हुई 87 व्हिच इज करेक्ट उसके बाद देखिए हम आए अपने स्वॉप मेथड के अंदर है ना उसके बाद हमने स्वॉप मेथड यहां से कॉल कर दिया स्वप मेथड में क्या प्रिंट हुआ अगेन वैल्यू ऑफ़ फर्स्ट वाला एंड सेकंड वाला फर्स्ट वाले की वैल्यू क्या प्रिंट हुई फोर प्रिंट हुई दूसरे वाले की वैल्यू 87 प्रिंट हुई उसके बाद हमने किया स्पिंग स्पिंग करने के बाद क्या है इनकी वैल्यू चेंज हो गई है देखिए फर्स्ट वाले की वैल्यू हो गई है 87 और दूसरे वाले की वैल्यू हो गई है स्प होके फोर कमाल की बात इस बार क्या है जब यह खत खत्म हो गया है और उसके बाद हमने दोबारा x और y की वैल्यू प्रिंट की तो देखिए x और y की वैल्यू भी चेंज हो गई है 87 और 4 ये क्या हुआ ये हुआ कॉल बाय रेफरेंस क्यों क्योंकि मैंने x और y को डायरेक्टली पास नहीं किया अगर मैं x और y को डायरेक्टली पास करता तो x की कॉपी बन जाती y की कॉपी बन जाती यहां कॉपी किसकी बनी देखिए बनी तो एक्चुअली कॉपी ही है पर यहां एड्रेस की कॉपी बनी मैंने क्योंकि एन पर्सन x लिखा तो यहां पर क्या आ गया ये एज अ एक्सप्रेशन ट्रीट होगा तो x का एड्रेस y का एड्रेस उसने क्या किया कॉपी बना दी x के एड्रेस की कॉपी बना दी यहां पर y के एड्रेस की कॉपी बना दी यहां पर पर जो हमने स्वाब किए वो एड्रेसस नहीं किए हमने उन एड्रेस के अंदर की वैल्यूज को स्वप किया हमने स्टार पॉइंटर वन स्टार पॉइंटर टू लगाकर क्या किया उनके अंदर की वैल्यूज को स्वप किया तो एड्रेस तो सेम रहे उनके अंदर की वैल्यूज क्योंकि हमने यहां पर चेंज कर दी तो यहां पर भी क्या हुआ वो वैल्यू का जो चेंज है वो रिफ्लेक्ट यहां पर हो गया है तो देखिए क्या होगा कॉल बाय रेफरेंस में पॉइंट्स आपको यूज़ करने पड़ेंगे इंप्लीमेंटेड यूजिंग पॉइंट्स ये काफी ज्यादा एफिशिएंट होता है वई क्योंकि इसमें आपको बड़े-बड़े डाटा स्ट्रक्चर्स की कॉपी नहीं बनानी पड़ती देखिए जो पॉइंटर है ना वो हमेशा सेम साइज का ही रहता है है ना पॉइंटर जो है उस उसका जो साइज है वो बार-बार बड़ा या छोटा नहीं होता है पॉइंटर जो है वो हमेशा सेम साइज का ही रहता है तो अगर मेरे को बहुत बड़ा डेटा स्ट्रक्चर है जो अभी आगे चलके हम देखेंगे कि बड़े-बड़े डटा स्ट्रक्चर्स को कैसे हैंडल करते हैं तो बहुत बड़ा डेटा स्ट्रक्चर भी है तो भी एड्रेस की कॉपी करने में बहुत छोटा ही टाइम लगेगा भले ही मेरा जो डेटा स्ट्रक्चर है वो एमबीज में हो कुछ भी हो बहुत बड़ा हो तब भी मुझे कॉपी करना काफी आसान रहता है तो ये काफी एफिशिएंट होता है और मल्टीपल रिटर्न्स यानी इसके इसकी मदद से आप क्या कर सकते हैं आगे चलके हम देखेंगे एरे की हेल्प से या स्ट्रिंग की हेल्प से आप मल्टीपल चीजें भी रिटर्न कर सकते हैं आप क्या करें बहुत सारी चीजों को एक बैग में डालें और उस बैग का यानी एक बड़े से वेरिएबल में डालें और उस वेरिएबल का आप एड्रेस रिटर्न कर दें तो आपके अगर अंडरस्टैंडिंग है बेसिकली कॉलर के साथ कि भाई वहां पर चार चीजें पड़ी हुई मिलेंगी उस एड्रेस पर जाकर देख लीजिएगा तो वो भी यहां पर अलाउ करता है रिस्क क्या है अन इंटेंडेड साइड इफेक्ट कई बार हो जाते हैं आपने बेसिकली अगर अपना एक्चुअल एड्रेस पास कर दिया है कई बार फंक्शन गलती से या किसी और वजह से वहां पर अगर कोई कचरा डाल देता है कोई वैल्यू डाल देता है तो आपकी वैल्यू भी अब यहां पर खराब हो जाएगी है ना तो ये हुआ कॉल बाय रेफरेंस तो दोस्तों यहां पर होता हमारा पॉइंटर चैप्टर कंप्लीट हमने क्या-क्या पढ़ा इस चैप्टर में इंट्रोडक्शन टू पॉइंट्स देखा यह दोनों ऑपरेटर जो सबसे ज्यादा इंपॉर्टेंट ऑपरेटर थे एड्रेस ऑफ ऑपरेटर और वैल्युएट एड्रेस ऑपरेटर इन दोनों ऑपरेटर्स को देखा पॉइंटर डिक्लेरेशन कैसे करना है कैसे उसको यूज करना है वैल्यूज कैसे डालनी है वो देखा पॉइंटर ऑफ अ पॉइंटर यानी डबल पॉइंटर डबल स्टार से जो पॉइंटर दिखाते हैं वो देखा इसको जरा मैं अभी पाक करता हूं और कॉल बाय रेफरेंस भी हमने देखा सर पॉइंटर एरिथ मेे िक आपने बोला था पर पॉइंटर एरिथ मेे िक पढ़ाया नहीं 7.5 के बाद सीधा हम कहां आ गए थे 1.7 पे बेटा पढ़ाते हुए मेरे को ये रिलाइज हुआ कि शायद पॉइंटर एरिथ मेे िक पढ़ाने का सही जगह कौन सा चैप्टर है एरे चैप्टर है तो उसके लिए मैं माफी चाहता हूं लद ओरिजनली वो पार्ट था इस चैप्टर का बट क्योंकि मुझे पढ़ाते हुए लगा कि उसका सही जगह क्या होना चाहिए एरे चैप्टर होना चाहिए तो सेम जो टॉपिक है पॉइंटर एरिथ मेे िक वो आपको एरे के अंदर दोबारा मिलेगा और पॉइंटर एरिथ मेे िक को हम एरे चैप्टर के अंदर कवर करेंगे फॉर नाउ पॉइंटर टॉपिक को हम करते हैं रैप अप करेंगे थोड़े से प्रैक्टिस एक्सरसाइजस और उसके बाद चलते हैं अपने नेक्स्ट टॉपिक की तरफ तो दोस्तों आ गए हैं चैप्टर नंबर सेवन के चैलेंज की तरफ देखिए सिर्फ चार चैलेंज हमारे पास यहां पर हैं हमको इन चारों को एक बार ट्राई करना है पॉइंटर बहुत बड़ा चैप्टर नहीं था पर कांसेप्चुअल था जो कांसेप्ट समझ आए उनको यहां पर एक बार प्रैक्टिस करेंगे उसके बाद जाएंगे नेक्स्ट चैप्टर में क्या-क्या है राइट अ प्रोग्राम दैट डिक्लेयर्स एन इंटी जर वेरिएबल एक वेरिएबल डिक्लेयर करना है पॉइंटर डिक्लेयर करना है असाइन अ वैल्यू एंड प्रिंट इड यूजिंग द पॉइंटर पॉइंटर से आपको उसको वैल्यू असाइन भी करनी है और प्रिंट भी करनी है फिर राइट अ प्रोग्राम टू चेंज द वैल्यू ऑफ एन इंटी जर वेरिएबल यूजिंग द पॉइंटर एंड द स्टार ऑपरेटर स्टार ऑपरेटर यूज करके आपको इंटी जर वेरिएबल की वैल्यू यहां पर चेंज करनी है सिमिलर सी चीजें हैं बट बहुत ज्यादा पॉइंटर में करने के लिए नहीं है इसी को हम थोड़ा सा प्रैक्टिस करेंगे हमको चीजें समझ आएंगी फिर क्या है डिक्लेयर अ पॉइंटर टू कैरेक्टर एंड यूज इट टू रीड एंड प्रिंट अ कैरेक्टर एंटर्ड बाय यूजर यूजर से हमको इनपुट कराना है और उसी को प्रिंट करना है यूजिंग द पॉइंटर फिर क्या है एक मेथड हमको इंप्लीमेंट करना है मिन मैक्स जो क्या करता हो ये चार नंबर चार पॉइंट्स को जो है वो इनपुट करता हो फिर फंक्शन दैट टेक टू इंटी जर एंड इनपुट एंड असाइनस द स्मॉलर वैल्यू टू मिनिमम आपको क्या करना है ये दो वैल्यू आपको मिलेंगी और मिनिमम वाला जो पॉइंटर है वहां आपको मिनिमम वैल्यू असाइन कर देनी है मैक्सिमम वाले में मैक्सिमम वैल्यू असाइन कर देनी है एक तरह से कॉल बाय रेफरेंस हम देखना चाह रहे हैं कि क्या आप मिन और मैक्स की वैल्यू सेट कर सकते हैं यूजिंग ए एंड बी का वैल्यू ठीक है तो पॉइंटर में इतना हमको ट्राई करना है इनमें कोई भी कन्फ्यूजन हो कुछ चीज समझ ना आए किसी का सॉल्यूशन देखना है तो सॉल्यूशन वीडियो का लिंक आपको डिस्क्रिप्शन में मिलेगा आप वहां से जाके सबके सॉल्यूशन देख सकते हैं इनको एक बार ट्राई करिएगा उसके बाद जाएंगे नेक्स्ट चैप्टर की तरफ ऑलराइट तो दोस्तों चलिए स्टार्ट करते हैं हमारा अगला चैप्टर जिसका नाम क्या है चैप्टर नंबर एट डटा टाइप्स एंड स्टोरेज क्लासेस तो देखिए डटा टाइप्स तो हम पहले से पढ़ कर आए हैं बट यहां जो हमारे पहले दो टॉपिक हैं उनको थोड़ा सा रिविजिट करेंगे लॉन्ग हमने पहले थोड़ा बहुत यूज़ किया है बट इसको ढंग से समझेंगे लॉन्ग का क्या मतलब है इसको यूज़ करेंगे और साइंड एंड अनसाइंड को भी हम समझेंगे देखिए अगर मैं प्रैक्टिकली बात करूं साइन एंड अनसाइंड भी ऑलमोस्ट ना के बराबर यूज़ होता है प्रैक्टिकली बट इनका मतलब समझ आना चाहिए क्योंकि पहली बात तो इंटरव्यू में भी पूछे जाते हैं आपके एग्जाम में भी थ्योरी में भी कई बार यह पूछे जा सकते हैं उसके बाद अगर स्टोरेज क्लासेस की बात करें तो यह भी बहुत ज्यादा इस्तेमाल नहीं की जाती हैं प्रैक्टिकली बट इनका भी एग्जाम पॉइंट ऑफ व्यू से और इन जनरल आपकी सिस्टम की अंडरस्टैंडिंग कितनी अच्छी है आपको पता है सी की क्या कैपेबिलिटीज हैं उनके हिसाब से काफी ज्यादा इसकी जो इंपॉर्टेंस है वो है तो 3 टू 8 तो थोड़ा सा थोरेट्स हम कवर करेंगे और लॉन्ग एंड साइंड एंड अनसाइंड को हम चलाकर भी अच्छे से चलाकर देखेंगे एग्जांपल्स देखेंगे समझेंगे किन यूज केसेस में हमको इनको यूज़ करना है और किन यूज केसेस में हमको इनको यूज नहीं करना है ठीक है तो सबसे पहले स्टार्ट करते हैं पहला टॉपिक और सब सबसे पहला टॉपिक क्या है सबसे पहला टॉपिक है लॉन्ग अब देखिए लॉन्ग एक क्या है एक डटा टाइप है जो इंट जैसा ही हमने पहले इसका नाम सुना है बट ये क्या है थोड़ा सा बड़ा है तो अगर साइज की बात करेंगे लार्जर देन इंट इंट से बड़ा होता है कितना साइज होता है इसका जनरली 64 बिट्स होता है 64 बिट सिस्टम पर और 32 बिट्स होता है 32 बिट सिस्टम पर ये बिट सिस्टम का क्या मतलब है देखिए जो आपका प्रोसेसर है उसके बिट्स डिफाइन होते हैं कि प्रोसेसर बाय डिफॉल्ट जो कोड लेता है एक एक होता है कमांड कोड कि कमांड कितने कोड का बिट का होने वाला है तो कितने बिट का कमांड कोड लेता है बेसिकली उस पर डिपेंड करता है बहुत ज्यादा ये समझने की जरूरत नहीं है बस ये समझना है हमको कि लॉन्ग क्या है लॉन्ग इंट से बड़ा होता है तो अगर कभी हमको ऐसा नंबर बेसिकली लाना है जो इंट में फिट नहीं हो रहा है तो हम क्या करेंगे हम लॉन्ग का यूज़ करेंगे रेंज क्या है कैन होड लार्जर इंटी जर वैल्यूज यूजफुल फॉर एक्सटेंडिंग एरिथ मेे िक प्रेसीजन यानी अगर आपको प्रेसीजन अपना बहुत ज्यादा बढ़ाना है तो उसके लिए आप इसको यूज़ कर सकते हैं और डिनोट कैसे किया जाता है सफिक्स कैसे होता है l बेसिकली इसको लगा देते हैं लिखते हुए आप जब नॉर्मल लिख रहे हैं तो कहीं पर अगर वैल्यू देनी है तो 100 l अगर आप लिख देंगे तो दैट मींस दिस इज़ 100 बड़ा बेसिकली 100 एज अ लॉन्ग नंबर तो ये देख के कहीं पर ये नहीं समझना है कि किसी ने गलत वैल्यू दे दी है अगर कोई लिख दे लॉन्ग x मान लीजिए मैं नाम देता हूं = 100l तो इस बात का क्या मतलब है 100l का मतलब है कि ये लॉन्ग है अगर मैं 100 l नहीं भी दूंगा सिर्फ 100 लिखूंगा तो भी क्या करेगा जो अप कास्टिंग हमने पढ़ा था क्या करेगा इसको प्रमोट करके लॉन्ग बना देगा हमेशा छोटी सी बड़ी बाल्टी में पानी ह डाला जा सकता है तो 100 को ये एनीवे लॉन्ग बना देगा बट अगर आप कोई कैलकुलेशन कर रहे हैं सपोज और वहां आप चाहते हैं कि मेरा ये वाला नंबर एज लॉन्ग ट्रीट हो तो आप क्या कर सकते हैं उसको एल जो है एल करके लिख सकते हैं प्रिंट करते हुए भी इसको हम कैसे दिखाते हैं परसेंटाइल डी की जगह हम लिखते हैं परसेंटाइल एलडी दैट मींस मेरा एक लंबा डेसीमल नंबर जो है वो यहां पर आने वाला है ठीक है तो एक बार पहले मैं इसको आपको चलाक दिखा देता हूं है ना और उसके बाद देखेंगे कि इस इसकी जो थोड़ा सा बचा हुआ कांसेप्ट है वो भी हम देख लेंगे एक बार जरा एक्सप्लोरर में आते हैं वापस अभी हम पॉइंट्स टॉपिक में हैं देखिए इससे पहले जब हम फंक्शन एंड रिकर्स में थे तो हमने फैक्टोरियल का एक प्रोग्राम लिखा था है ना तो मैं क्या करता हूं पहले तो हम नया चैप्टर क्योंकि स्टार्ट कर रहे हैं तो एक नया फोल्डर बना लेते हैं माफ कीजिएगा अंदर मैंने बना दिया हमको बनाना है बाहर नंबर एट डाटा टाइप्स एंड स्टोरेज क्लासेस ठीक है आ गया नंबर एट और मैं क्या बोल रहा था मैं बोल रहा था नंबर सिक्स में जो हमने फैक्टोरियल का प्रोग्राम लिखा था इसको थोड़ा सा यूज़ करेंगे तो उसको मैं लाकर एट में कर लेता हूं पेस्ट ठीक है मैंने क्या किया है देखिए अभी इसको एगजैक्टली कॉपी पेस्ट कर लिया है हमको पूरे की जरूरत नहीं है मैं क्या करूंगा इसमें से चीजों को हटाऊ देखिए पहली बात तो हमको क्या करना है को लूप और रिकर्स दोनों वाला देखने की जरूरत नहीं है तो हम एक नॉर्मल जो लूप वाला है उसको देख लेते हैं है ना और इसका नाम भी मैं क्या कर देता हूं सिर्फ फैक्टोरियल कर देता हूं ताकि लिखना थोड़ा सा आसान हो जाए है ना और ये जो दूसरे वाला एग्जांपल है इसको भी डिलीट कर देंगे अभी सिंगल फैक्टोरियल से हमारा काम चल जाएगा रिकर्स वाला मैंने कर दिया है डिलीट और मैं इसका भी नाम कर देता हूं फैक्टोरियल देखिए अभी मैंने क्या किया बहुत सारी चीजें डिलीट कर दी एक बार रिमाइंड करा देता हूं हमने पहले एक फैक्टोरियल फंक्शन है जिसको क्या किया है यहां पर इसका प्रोटोटाइप लिखा है उसके बाद यहां है उसकी डेफिनेशन डेफिनेशन में हमने क्या किया है एक प्रिंट स्टेटमेंट एक्चुअली अब इसकी भी जरूरत नहीं है ये हमने डीबगिंग के लिए लगाया हुआ था हमने एक नंबर लिया उसको मल्टीप्लाई करते गए कहां तक जब तक वो फैक्टोरियल वाला नंबर हिट नहीं हो गया तो 5 फैक्टोरियल है तो 5 * 4 * 3 * 1 ऐसे करते चले जाएंगे एंड देन रिजल्ट जो है वो रिजल्ट यहां पर दिखा देंगे और अब देखिए क्या है ये जब प्रोग्राम हमने लिखा है इस प्रोग्राम में हम नंबर क्या यूज़ कर रहे हैं इंट इंट फैक्टोरियल क्या रिटर्न कर रहा है इंट तो चलिए एक बार क्या करते हैं इसको प्रिंट करके देखते हैं तो फैक्टोरियल फर है एक बार इसको जरा चलाकर देख लेते हैं मैं कहां जाता हूं चलते हैं फोल्डर नंबर नंबर एट के अंदर यहां फैक्टोरियल अब हमारा आ गया है हमने कॉपी पेस्ट कर दिया था इसको इसको कर लेते हैं जीसीसी फैक्टोरियल - o फैक्टोरियल डॉट आउट है ना ये आ गया है अब इसको चला लेते हैं फैक्टोरियल आउट देखिए चार का फैक्टोरियल इसने निकाल दिया 24 अब मैं क्या करता हूं मैं देखिए हमने क्या किया है फैक्टोरियल 4 निकाल करके यहां क्या किया है पहले एक वेरिएबल में डाला है वेरिएबल को प्रिंट किया है इसको हम डायरेक्टली भी प्रिंट कर सकते हैं तो इस बार के लिए मैं क्या करूंगा यहां पर एक शॉर्टकट मारूंगा और मैं लिखूंगा फैक्टोरियल यूजिंग लूप लिखने की हमको जरूरत नहीं है ऑफ फोर और यहां प्रिंट कर दूंगा फैक्टोरियल 4 ठीक है अब हम इसको प्रिंट करते जाते हैं मान लीज बोलता हूं फ का क्या होगा 10 का क्या होगा 15 का क्या होगा 20 का क्या होगा 25 का क्या होगा है ना और यहां भी हम यही नंबर दे देते हैं ताकि हम उनको मैच कर पाए कि 5 का 10 का 15 का 20 का और 25 का फैक्टोरियल क्या आने वाला है है ना दोबारा से हम करेंगे अपनी फाइल को कंपाइल और उसके बाद दोबारा से इसको करेंगे रन अब देखिए क्या हुआ जब मैंने चार का फैक्टोरियल निकाला तो आया 24 फ का निकाला आया 120 फैक्टोरियल बहुत तेजी से ग्रो करता है अब देखिए 10 का मैंने निकाला तो आया 362 880 है ना 8800 काफी बड़ा नंबर आ गया फिर मैंने बोला 15 का फैक्टोरियल 15 का फैक्टोरियल देखिए सडन कितना ग्रो कर गया क्योंकि उसके बाद क्या करना है आपको 10 में पहले 11 मल्टीप्लाई करना है फिर 12 फिर 13 फिर 14 फिर 15 तो नंबर तो ओबवियसली बड़ा हो ही जाएगा नंबर कितना बड़ा हो गया 2431 0016 ठीक बात है शायद 15 का ठीक निकाला हो पर देखिए जब 20 फैक्टोरियल पर हम आए तो नंबर क्या आ गया कुछ नेगेटिव नंबर आ गया है हमको पता है ये फैक्टोरियल तो नेगेटिव हो ही नहीं सकता हम सब पॉजिटिव नंबर्स को मल्टीप्लाई करते जा रहे हैं देखिए हुआ ये है कि इंटी जर से बस की बात अब बची नहीं है इंटीरजिंक की जब उस लिमिट से बाहर जाएंगे तो क्या होगा नंबर घूम कर वापस आ जाते हैं जो भी हम इसके बाद साइन अन साइन में भी पढ़ ऐसा क्यों हो रहा है बट बेसिकली पॉजिटिव नंबर नेगेटिव नंबर बन जाते हैं नेगेटिव नंबर पॉजिटिव नंबर बन जाते हैं बेसिकली नंबर अब उसकी कोई ठीक से एजिस्ट हैंस नहीं रहती जो वैल्यू है वो ओवरफ्लो होने लगती है तो मान लीजिए किसी ने आपको प्रोग्राम दिया कि यार 25 तक का फैक्टोरियल आपको कैलकुलेट करना है तो कैसे करेंगे तो उस केस में यहां लॉन्ग का इस्तेमाल हम करेंगे क्या करेंगे फैक्टोरियल को बोलेंगे कि ये लेता तो इंटी जर ही है यानी छोटे नंबर्स का ही निकालेगा बट जो रिजल्ट देगा वो क्या देगा वो लॉन्ग देगा तो मैं यहां भी लॉन्ग करूंगा ये जो फैक्टोरियल रिटर्न कर रहा है यहां भी लॉन्ग करूंगा जिस रिजल्ट वेरिएबल में चीजों को रखता हूं इसको भी मैं क्या बना दूंगा लॉन्ग बना दूंगा ताकि मल्टीप्लिकेशन करते हुए बात जो है इसके बस से बस के बाहर ना हो जाए और यहां जब हम प्रिंट कर रहे हैं यहां भी डी की जगह हम क्या प्रिंट कर देंगे हर जगह एलडी ये बोलते हुए कि भाई जो चीज है वह कभी भी लॉन्ग डबल टाइप की सॉरी लॉन्ग डेसीमल टाइप की हो सकती है एक बार इसको फिर से कंपाइल करते हैं फिर से रन करते हैं और देखिए इस बार क्या हुआ है इस बार चीजें बस से बाहर नहीं हो रही हैं 15 का फैक्टोरियल भी ठीक आया है और उसका बा 20 का फैक्टोरियल भी कितना लंबा ये निकाल पाया है 20 फव का फैक्टोरियल मुझे लग रहा है अभी भी क्या हुआ है लिमिट से बाहर हो गया है यानी लॉन्ग की लिमिट से भी बाहर हो गया है लॉन्ग लॉन्ग भी एक हमारे पास होता है जिसको हम यूज़ कर सकते हैं अगर हमको लॉन्ग की लिमिट भी बाहर हो गई है तो है ना देखिए यहां क्या लिखा है हैज अ लॉन्ग लॉन्ग वेरिएंट फॉर इवन लार्जर इंटी जर्स एट लीस्ट 64 बिट्स यानी इसका साइज एटलीस्ट 64 बिट्स होएगा उससे ज्यादा भी हो सकता है तो अगर 20 तक है तो मान लीजिए आप यहां पर लॉन्ग यूज़ कर सकते हैं अगर 25 भी आ रहा है तो आप लॉन्ग लॉन्ग भी यूज़ कर सकते हैं लॉन्ग आपको बताने का मेन मतलब पर्पस यह था कि अगर कभी भी ऐसा लग कि कैलकुलेशन बहुत बड़ी होने वाली है इंटी जर के औकात की बाहर बात बाहर बात हो सकती है तो सेफ रहते हुए हमेशा लॉन्ग का इस्तेमाल कर लिया कीजिए हो सकता है इससे पहले भी मैंने किसी एग्जांपल में अपने आप मसल मेमोरी की वजह से लॉन्ग इस्तेमाल कर लिया हो आपने उस समय ध्यान ना दिया हो बट आपको यह बात याद रखनी है कि लॉन्ग का मतलब है बहुत बड़ा इंटी जर जब भी मेरे को कहीं पर यूज़ करना है तो मैं क्या करूंगा उसका नाम रख दूंगा लॉन्ग उसको लॉन्ग टाइप में डिफाइन करूंगा राद देन इंट टाइप में ठीक बात है तो ये था दोस्तों हमारा लॉन्ग आ जाते हैं नेक्स्ट पॉइंट पर नेक्स्ट पॉइंट क्या है साइंड एंड अनसाइंड नंबर्स क्या होते हैं हमको यह समझना है अब देखिए जो साइन नंबर है पहले वो समझ लेते हैं अभी तक जो हम बेसिक नंबर देखते आए हैं हम उसमें इ मैं यह भी लिख सकता था मान लीजिए इंटी जर a = 5 पर मैं साथ-साथ ये भी लिख सकता हूं इंटी जर b = -15 यानी जो इंटी जर है मेरा इसकी जो रेंज है वो पॉजिटिव नंबर्स भी होते हैं और नेगेटिव नंबर्स भी होते हैं पर देखिए हमने स्टार्टिंग से हम ये बात करते आ रहे हैं कि कंप्यूटर को तो सिर्फ वन और रो समझ आता है तो अगर मैंने यहां फाइव भी लिखा है तो उसने क्या किया होगा इस फव को 0 में कन्वर्ट किया होगा -15 को अगर अगर मैं करूंगा तो इसको भी इन्होंने 10 में कन्वर्ट किया होगा तो 15 को तो ये कन्वर्ट कर देगा पर ये कैसे बताएगा कि भाई ये 15 नहीं ये -15 है उसी के लिए होती है यूज साइंड बिट तो अगर मान लीजिए यहां पर एक बार आप इस चार्ट को देखिएगा जो मैं दिखा रहा हूं अगर आपका नंबर मान लीजिए आठ बिट का है है ना छोटा हम नंबर यहां पर देख रहे हैं किसको देख रहे हैं छोटे नंबर को तो अगर मान लीजिए मेरा नंबर आठ बिट का है तो एक बिट उसमें रिजर्व कर दी जाती है साइन के लिए तो अगर ये वन होगा तो मान लीजिए हम समझेंगे कि क्या ये नेगेटिव है जीरो होगा तो समझेंगे पॉजिटिव है ये मैं ऐसे ही बोल रहा हूं रिप्रेजेंटेशन कुछ भी हो सकती है इनकी स्पेसिफिक रिप्रेजेंटेशंस होती हैं इसको वन एस कॉम्प्लीयंट रिप्रेजेंटेशन बोला जाता है अलग-अलग तरह की रिप्रेजेंटेशन होती है बट अभी आपको क्या समझना है कि जो पहली बिट होती है उसमें एक्चुअल वैल्यू स्टोर नहीं की जाती इसमें सिर्फ साइन स्टोर किया जाता है और डाटा के लिए सिर्फ सात बिट्स ही बचती हैं अब इसके फायदे और नुकसान हैं क्या फायदा है साइन इंटी जर कैन रिप्रेजेंट बोथ पॉजिटिव एंड नेगेटिव नंबर्स फायदा क्या है आप पॉजिटिव नेगेटिव नंबर्स दोनों को ही रिप्रेजेंट कर सकते हैं नुकसान क्या है जब आप इसकी जगह अनसाइंड कोई बेसिकली किसी को डिक्लेयर करते हैं मान लीजिए मैंने बोल दिया कैरेक्टर मेरा अनसाइंड होने वाला है शॉर्ट इंट लंग किसी को भी आप अनसाइंड बोल सकते हैं अगर आपने बोला अनसाइंड तो क्या होगा जो लास्ट वाली बिट है इसका भी काहे के लिए इस्तेमाल कर लिया जाएगा डाटा के लिए तो अगर हम कैरेक्टर की बात कर रहे हैं यहां साइंड कैरेक्टर सात बिट डेटा स्टोर करता था एक बिट में साइन स्टोर करता था अनसाइंड कैरेक्टर क्या करेगा आठ के आठ बिट में डाटा स्टोर करेगा तो जो अनसाइंड इंटी जर है मान लीजिए अगर इंटी जर को कंपेयर करेंगे ओनली रिप्रेजेंट नॉन नेगेटिव नंबर्स इसमें सिर्फ आप पॉजिटिव नंबर्स या नॉन नेगेटिव नंबर्स ही रख सकते हैं नॉन नेगेटिव क्यों बोल र हैं क्योंकि ज़ीरो भी रख सकते हैं है ना तो जीरो और पॉजिटिव नंबर्स यहां पर रखे जा सकते हैं डबलिंग द मैक्सिमम पॉजिटिव वैल्यू क्योंकि देखिए हर बिट में क्या होगा टू की पावर से मल्टीप्लाई होती जाती है हर बिट में क्या होगा आपकी रेंज डबल होती जाएगी तो यहां आप बोलोगे सर एक ही बिट तो एक्स्ट्रा मिली अगर 64 बिट का मेरा कोई मान लीजिए इंटी जर है तो साइंड वाले में 63 बिट यूज़ हो रही होंगी और अनसाइंड में 64 बिट यूज़ हो रही होंगी ये बात एकदम आपकी फैक्ट फैक्ट है इसलिए प्रैक्टिकली इसको बहुत ज्यादा यूज़ नहीं करते हैं बट फिर भी ये बात समझिए स 63 बिट में और 64 बिट में रेंज का एकदम डबल का अंतर है है ना तो क्या होता है इसकी रेंज जो है वो एकदम डबल हो जाती है रेंज क्या है अगर हम नॉर्मल इंटी जर की बात करें तो टू की अगर 32 बिट का हम मानकर चल रहे हैं तो -2 की पावर 31 से + 2 की पावर 31 तक आप नंबर्स इसमें दिखा सकते हैं जबकि अगर अनसाइंड है तो अब 31 की जगह उसको कितनी मिल जाएंगी 32 यानी 32 बिट्स मिल जाएंगी तो उसकी रेंज हो जाएगी 0 टू 2 की पावर 32 एक माइनस आप लगाते हैं क्योंकि मैक्सिमम यहां पर ऑड नंबर ही आता है तो ये क्या हुआ ये हो गया क्योंकि आपको ज़ीरो भी रिप्रेजेंट करना है है ना तो टोटल नंबर्स होंगे 2 की पावर 32 बट रेंज क्या होगी रो से लेकर 2 की पावर 32 - 1 और ओवरफ्लो आपको समझना है कि जो देखिए मेरा नॉर्मल साइंड होता है मैंने अभी आपको बताया था इससे पहले हमने करके देखा था कि जब लिमिट से बाहर हो रहा था फैक्टोरियल तो नेगेटिव नंबर्स आने लगे थे यानी होता क्या है जब आपकी पॉजिटिव की लिमिट खत्म हो जाती है तो वो ओवरफ्लो होकर वापस नेगेटिव में शुरू हो जाता है जो आपकी यूसेज है है ना और आपको क्या करना है साइंड किन चीजों के लिए यूज करना है साइंड या अनसाइंड आपको उनके लिए यूज करना है अगर मान लीजिए मैं एक एक्चुअली एग्जांपल लेकर मैं आपको दिखाता हूं कि साइंड एन साइन हमको यूज कहां पर करना है एक बार ये एग्जांपल देखिए हमने क्या किया है अगर मेरे पास एक प्रोग्राम मेरे को लिखना था जहां मुझे एक रेक्टेंगल का एरिया जो है वो निकालना है तो मैं क्या करूंगा एक रेक्टेंगल का एरिया क्या होता है मान लीजिए ये एक मेरा रेक्टेंगल है तो इसकी एक होती है लेंथ एक होती है ब्रेथ और एरिया क्या होता है एरिया का फार्मूला क्या होता है हमने बचपन में पढ़ा था लेंथ नटू ब्रेथ होता है मेरा एरिया पर देखिए एक रेक्टेंगल की लेंथ और ब्रेथ क्या है कभी भी नेगेटिव नहीं हो सकती है ये क्या है बेसिकली शेप है तो शेप की कुछ ना कुछ तो लेंथ होगी या तो ज़ीरो होगी मान लीजिए कुछ नहीं है डॉट आपने बना दिया तो ज़ीरो लेंथ बोल सकते हैं बट जो भी लेंथ होगी वो पॉजिटिव होगी तो मान लीजिए जब मैं इसकी लेंथ डिक्लेयर कर रहा हूं तो मैं इंट की जगह क्या लिख दूंगा किस तरह से लिखा जाता है सिंटेक्स समझ लीजिएगा अनसाइंड इंट लेंथ इज इक्वल टू 10 अनसाइंड इंट विड्थ इ इक्वल ट 5 तो ये क्या करेगा इनकी रेंज डबल हो चुकी होगी हालांकि अभी नंबर बहुत छोटे हैं बट इनसे ये भी पता चलता है कई बार दूसरी तरह से भी आप इसको यूज़ करते हैं आप किसी को अनसाइंड डिक्लेयर करते हैं तो कोड पढ़ने वाले को यूज करने वाले को ये भी समझ आता है कि भाई इस चीज की वैल्यू नेगेटिव नहीं हो सकती है बात सिर्फ रेंज की नहीं है बात रूल्स की भी है कि भाई आप इसको नेगेटिव नहीं बना सकते और हमने एक अनसाइंड इंट और डिक्लेयर कर लिया जो हम देंगे एरिया भई अगर लेंथ और विड्थ दोनों ओबवियसली पॉजिटिव है एरिया भी हमेशा या तो ज़ीरो होगा या पॉजिटिव होगा बट अगर मैं टेंपरेचर की बात करूं तो टेंपरेचर देखिए हमारा नेगेटिव में भी होता है है ना हमारे क हमारे पास कश्मीर है हिमाचल प्रदेश है कितने सारे ऐसे स्टेट्स हैं जहां टेंपरेचर क्या जाता है नेगेटिव के अंदर चला जाता है तो अगर मैं एरिया कैलकुलेट कर रहा हूं तो लेंथ एंड विड्थ क्या होगा ये अनसाइंड एट होगा बट जो नॉर्मल मेरा नंबर है बेसिकली जो टेंपरेचर है वो क्या होगा साइंड होगा और उसको शो कैसे करते हैं अनसाइंड को शो करने के लिए आप यूज़ करते हैं परसेंटाइल u और नॉर्मल हमारे डेसीमल को शो करने के लिए आप यूज़ करते हैं परसेंटाइल डी ठीक है तो देखिए एरिया दिखाना है टेंपरेचर दिखाना है आप क्या यूज़ कर सकते हैं अनसाइंड हमारा जो कीवर्ड है उसको यूज़ कर सकते हैं डाटा डेटा टाइप से पहले उससे रेंज डबल हो जाएगी और नेगेटिव नंबर्स उसके अंदर आप नहीं रख पाएंगे ठीक है तो यह था दोस्तों हमारा साइंड एंड अनसाइंड अब आ जाते हैं हम अपनी स्टोरेज क्लासेस पर अगेन जैसा मैंने पहले कहा था थोड़ा सा कांसेप्चुअल है इसमें बात करेंगे चीजों को समझेंगे बहुत ज्यादा भी प्रैक्टिकल हमारे पास करने के लिए कुछ नहीं होगा उसकी यहां पर बहुत ज्यादा रिक्वायरमेंट नहीं है तो सबसे पहले स्टोरेज क्लासेस समझते हैं देखिए स्टोरेज क्लास का मतलब क्या है स्टोरेज क्लास का मतलब यह है कि आप जब कोई वेरिएबल डिक्लेयर करते हैं कोई मेमोरी आप ले रहे हैं अ बेसिकली कंपाइलर से या मान लीजिए सी के सिस्टम से अपने ऑपरेटिंग सिस्टम से तो वो आपको मिल कहां रही है और उसकी क्या-क्या प्रॉपर्टीज हैं तो किस-किस चीज पर डिपेंड करता है ये चार चीजें हैं जो अलग-अलग हो सकती हैं किन्हीं स्टोरेज क्लासेस के लिए अभी ये तो चार तरह की स्टोरेज क्लासेस हैं इनको तो हम विजिट करेंगे ही है ना एक ऑटोमेटिक स्टोरेज क्लास होती है इसको ऑटो बोलते हैं एक स्टैटिक स्टोरेज क्लास होती है स्टैटिक बोलते हैं रजिस्टर को रजिस्टर बोलते हैं एक्सटर्नल को एक्सटर्न बोला जाता है है ठीक है तो ये भी हमारे क्या हैं ये हमारे चार कीवर्ड हैं ऑटो स्टैटिक रजिस्टर और एक्सटर्न ठीक है और ये किस किन-किन फैक्टर्स पर आपस में एक दूसरे से डिफरेंस है एक उनका लाइफ टाइम क्या है यानी वेरिएबल कब मेमोरी में आता है कब जाता है स्कोप क्या है लोकेशन का है कहां एक्चुअली स्टोर हो रहा है और इनिशियल वैल्यू उसको क्या मिलती है है ना तो अगर लाइफ टाइम मैनेजमेंट की बात करें स्टोरेज क्लासेस डिटरमाइंड द लाइफ टाइम कि उसका बेसिकली जो ड्यूरेशन है वो क्या होने वाला है स्कोप मतलब कहां-कहां कोड में उसको एक्सेस किया जा सकता है देखिए स्कोप हम पहले भी देख कर आए हैं वेरिएबल का यहां आप देखेंगे कि स्टोरेज क्लासेस के बेस पर स्कोप कैसे चेंज होता है लोकेशन कैसे देखिए हमने बात की है मोस्ट ऑफ द मेमोरी कहां कहां जाती है r के अंदर जाती है बट एक ये स्पेशल आपकी स्टोरेज क्लास है रजिस्टर जो क्या करता है प्रोसेसर के अंदर भी एक छोटी सी मेमोरी होती है इसको रजिस्टर मेमोरी बोला जाता है आप चाहें तो वहां पर भी वेरिएबल डिक्लेयर कर सकते हैं कब डिक्लेयर करेंगे क्यों नहीं वो भी हम देखेंगे बट बेसिकली मेमोरी लोकेशन में डिपेंड करती है और इनिशियल वैल्यू भी हर एक बेसिकली जो स्टोरेज क्लास है वो आपकी अलग-अलग देती है तो स्टोरेज क्लास क्या है आपके पास चूज करने के लिए आप कोई भी चूज कर सकते हैं कि भाई मेरा वेरिएबल ऑटो जाना चाहिए मेरा वेरिएबल स्टैटिक होना चाहिए मेरा वेरिएबल रजिस्टर होना चाहिए मेरा वेरिएबल एक्सटर्न होना चाहिए और उसके बेसिस पर क्या होता है ये चारों की चारों चीजें जो हैं आपके वेरिएबल की लाइफ टाइम स्कोप मेमोरी और इनिशियल वैल्यू क्या होंगी चेंज हो जाएंगी है ना तो चलिए एक-एक करके विजिट करते हैं सबसे पहले देखते हैं ऑटोमेटिक जो हम स्टोरेज क्लास बोल रहे हैं इसका क्या मतलब है देखिए ऑटोमेटिक स्टोरेज क्लास सर इस्तेमाल कैसे करेंगे भाई अभी तक हमने जितने भी वेरिएबल डिक्लेयर किए हैं ना वो सब ऑटोमेटिक ही थे यानी अगर आप कुछ भी नहीं लिखते हैं तो वो ऑटो वेरिएबल होता है देखिए हमने यहां पर एग्जांपल में क्या लिखा है अब मैंने एक इंटी जर डिक्लेयर किया इंट ऑटोवेयर तो देखिए क्या है ये भाई जो हम नॉर्मल अभी तक इंटी जर डिक्लेयर करते आए थे वही है और ये क्या होता है ऑटो कीवर्ड आप नहीं लिखते हैं तो बाय डिफॉल्ट वो ऑटो समझ लिया जाता है यहां एग्जांपल में कुछ नहीं है इसी की वैल्यू हमने यहां पर ऑटोवेयर की वैल्यू प्रिंट करके आपको दिखा दी है है ना और ये क्या होता है जैसे ही आपका फंक्शन खत्म होगा ये हमने पढ़ा था कोई भी वेरिएबल आपने डिक्लेयर किया है दो ब्रैकेट्स के अंदर तो उसकी लाइफ क्या है जैसे ही ब्रैकेट खत्म वैसे ही वेरिएबल खत्म तो क्या होगा जैसे ही मेरा फंक्शन का जो एग्जीक्यूशन है वो खत्म होगा इमीडिएट क्या होगा ये जो वेरिएबल की लाइफ है ये भी खत्म हो जाएगी तो अगर हम बात करें हमारे ऑटोमेटिक की पहली बात तो क्या है ये डिफॉल्ट क्लास है यानी अगर आप कुछ भी नहीं लिखते तो ऑटोमेटिक मान लिया जाता है है ना ऑटो ऑटो इज बाय डिफॉल्ट कहां स्टोर किया जाता है स्टैक में ये भी हमने रिकर्स के टाइम पे बहुत डीप में देखा था क्या जब भी कोई फंक्शन कॉल होता है उस फंक्शन को एक स्टैक में रख दिया जाता है फंक्शन का नाम और फंक्शन की जितनी भी स्टैक मेमोरी है वो सब उस स्टैक में रखी जाती है ताकि जब भी वो फंक्शन ओवर होगा तो उसको स्टैक से उड़ाया जाएगा उसकी जो पूरी मेमोरी है उसको भी उड़ाया जाएगा तो ऑटो वेरिएबल कहां स्टोर किए जाते हैं फंक्शन स्टैक के अंदर ही स्टोर किए जाते हैं यानी स्टैक स्टोरेज में स्टोर किए जाते हैं स्कोप क्या है भाई लोकल टू द ब्लॉक जिस ब्लॉक के अंदर जिन दो ब्रैकेट के अंदर आपने इसको डिक्लेयर किया है उन्हीं दो ब्रैकेट के अंदर आप इसको यूज़ करेंगे फंक्शन के अंदर डिक्लेयर किया तो फंक्शन के अंदर यूज़ होगा मान लीजिए फॉर लूप के अंदर डिक्लेयर कर दिया है उसके कर्ली ब्रैकेट्स के अंदर तो फॉर लूप के अंदर यूज़ होगा जिन दो कडली ब्रैकेट्स में इमीडिएट वो पड़ता है उसमें या उसके अंदर अगर कोई कडली ब्रैकेट होंगे वहां आप उसको इस्तेमाल कर सकते हैं पर बाहर उसको इस्तेमाल नहीं नहीं किया जा सकता है ठीक है इनिशियल वैल्यू क्या है ऑटोमेटिक में कोई इनिशियल वैल्यू नहीं दी जाती है यानी वैल्यू क्या रहती है अनडिफाइंड रहती है और लाइफ टाइम क्या है जब ब्लॉक क्रिएट होगा तभी बेसिकली क्रिएट होंगी और जब ब्लॉक एग्जिट होगा तभी एग्जिट हो जाएंगे यानी लाइफ टाइम और स्कोप यहां साथ-साथ चलते हैं जब भी फंक्शन को मेमोरी मिलेगी उसी समय में वेरिएबल को भी आपके मेमोरी मिल जाएगी ठीक बात है तो ये थी दोस्तों हमारी ऑटोमेटिक स्टोरेज क्लास यह तो अभी तक हमको पढ़ाई है हमने यही हम इस्तेमाल करते आए हैं क्लियर ही है देखते हैं अगली जो थोड़ी सी इंटरेस्ट है क्या है रजिस्टर स्टोरेज क्लास ये कहां यूज़ होती है ये क्या यूज़ करने की कोशिश करती है सीपीयू रजिस्टर में आपको मेमोरी दिलाने की कोशिश करती है देखिए सीपीयू रजिस्टर का फायदा क्या है मान लीजिए ये मेरा प्रोसेसर है है ना बहुत खराब सी मैंने फोटो बनाई है पर कुछ इस तरह का आपका प्रोसेसर दिखता है तो क्या होता है प्रोसेसर के अंदर ही जहां बेसिकली हमारी क्लॉक्स हैं जहां पर चीजें एग्जीक्यूट हो रही हैं उसके पास ही छोटी-छोटी इसके मेमोरी भी होती है पास में मतलब मैं अलग से दिखा रहा हूं बट ये एक्चुअली प्रोसेसर के अंदर ही होती है जिसको बोलते हैं सीपीयू रजिस्टर्स सीपीयू को जब मान लीजिए आपने कभी देखा हो कोई मैकेनिक है मान लीजिए तो वो क्या करता है अपने पास एक बेल्ट आज का लगाकर रखते हैं या एक टूल बॉक्स रखते हैं उनकी शॉप में तो बहुत सारे टूल्स होते हैं बट वो कुछ टूल्स एक बार में उठाकर लाते हैं दो तीन चार चीजें लाते हैं और उसके बाद किसी चीज पर काम करना शुरू करते हैं और जिस चीज पर काम करना शुरू करते हैं टूल दो बेसिकली एक दो जो टूल है क्या करेंगे मान लीजिए उन्होंने प्लायर यूज करना है तो प्लायर यूज किया नीचे रख दिया फिर हथौड़ी उठाई उठाई हथौड़ी यूज करी यानी उनको पता है ये दो-तीन उस टाइप के टूल हैं जो मुझे अभी ज्यादा चाहिए होंगे बार-बार चाहिए होंगे या कुछ लोग क्या करते हैं उनको अपनी बेल्ट में भी पहन लेते हैं तो सीपीयू भी इसी तरह से करता है वैसे तो उसके पास यहां पर एक दूसरी क्या है पूरी की पूरी मेमोरी है जहां पर पूरे एड्रेसस लगे हुए हैं चीजें लगी हुई हैं रम है यानी जब भी उसको कोई डाटा चाहिए तो रम से जाकर ले आता है बट सीपीयू क्या है थोड़ा सा स्मार्ट है वो क्या करता है अपने पास भी थोड़ी सी सीपीयू रजिस्टर मेमोरी रखता है जो कि बहुत ज्यादा कॉस्टली होती है पहली बात कॉस्टली मतलब बहुत ज्यादा पैसे उसको में खर्च होते हैं उसको लगाने में उसको बनाने में बट ये क्या होती है बहुत ही ज्यादा सुपर फास्ट होती है रम के मुकाबले इवन 1000 टाइम्स तक भी ये फास्ट हो सकती है तो सीपीयू क्या करता है जो कोई ऐसे वेरिएबल हैं जो उसको पता है मुझे बहुत बार इस्तेमाल करने हैं बार-बार इस्तेमाल होंगे कुछ काम करते हुए उनको वो यहीं पर स्टोर कर लेता है अपने पास ही बिना किसी को बताए उनको यहीं स्टोर कर लेता है और जब भी वो मान लीजिए बहुत तेजी से एग्जीक्यूशन कर रहा है तो फिर उसको वो वेरिएबल उठाने के लिए बार-बार रम में नहीं जाना पड़ता है व सीधे कहां से उठा सकता है अपने सीपीयू रजिस्टर से उठा सकता है तो वैसे तो ये डिसीजंस ऑपरेटिंग सिस्टम या सीपीयू अपने आप लेता है बट सी लैंग्वेज में क्या है आप सीपीयू को एटलीस्ट रिक्वेस्ट कर सकते हैं सजेस्ट कर सकते हैं कि भाई मुझे लगा एक ही वेरिएबल है जो बार-बार बहुत ज्यादा इस्तेमाल होने वाला है अगर जगह खाली हो तो मैं प्लीज रिक्वेस्ट कर रहा हूं आप इसको कहां रख लीजिए सीपीयू रजिस्टर में ही रख लीजिए इससे मेरा पूरा प्रोग्राम जो है वो काफी फास्ट हो जाएगा तो सबसे पहली इंपॉर्टेंट बात क्या है दिस इज ओनली अ हिंट दिस इज ओनली अ रिक्वेस्ट जरूरी नहीं कि सीपीयू आपकी रिक्वेस्ट को ऑनर करें वो देखेगा उसके पास कितनी जगह हैं हो सकता है उससे ज्यादा इंपॉर्टेंट चीजें हैं जो उसको वहां पर सेव करनी हो तो अगर आप इसको रिक्वेस्ट कर सकते हैं पर कंपलसरी नहीं है कि अगर मैंने रिक्वेस्ट किया है तो क्या होगा वो हमेशा सीपीयू रजिस्टर में ही स्टोर होगा इसको रिक्वेस्ट कैसे करते हैं जब आप इंट काउंटर लिख रहे हैं उससे पहले आप क्या लिखेंगे रजिस्टर रजिस्टर का मतलब भाई इस वेरिएबल काउंटर को आप कोशिश करना कि रजिस्टर मेमोरी के अंदर आपको जगह मिल जाए अगेन कंपलसरी नहीं है आप रिक्वेस्ट यहां पर कर सकते हैं देखिए हो यहां पर हो क्या आ रहा है हमने एक लूप बनाया है काउंटर इक्वल टू 0 काउंटर लेसन 5 प्लस प्लस काउंटर वैल्यूज यहां पर प्रिंट कर दिए कुछ नहीं रो से लेकर फाइव से रो से लेकर फाइव तक यानी रो से लेकर फोर तक वैल्यू हमने यहां पर प्रिंट करी है 0 1 2 3 4 तो देखिए पूरे कोड चलने में क्या होगा एक काउंटर वेरिएबल बार-बार चेक हो रहा है बार-बार इंक्रीमेंट हो रहा रहा है बार-बार प्रिंट हो रहा है तो हमको पता है बहुत ज्यादा इसको इसमें बेसिकली अगर ये कुछ माइक्रो सेकंड भी मेरा ये कोड चल गया उसी में बार-बार क्या यूज हो रहा है बस ये काउंटर वेरिएबल यूज हो रहा है तो इस तरह के केसेस में हम क्या कर सकते हैं सीपीयू को सजेस्ट कर सकते हैं सी लैंग्वेज को सजेस्ट कर सकते हैं कि यार प्लीज ये जो काउंटर वेरिएबल है इसका आप क्या करिएगा इसको आप अपने जो सीपीयू वाली मेमोरी है रजिस्टर मेमोरी है उसके अंदर रख लीजिए वरना आपको 15 चक्कर बार-बार बार-बार कहां लगाने पड़ेंगे रम के आपको लगाने पड़ेंगे इंपॉर्टेंट बात आपको क्या समझना है साइज बहुत ही लिमिटेड होता होता है तो वेरिएबल दैट कैन फिट सिर्फ बहुत छोटी चीजें ही आप यहां पर सजेस्ट करें बहुत बड़ी चीजें यहां पर फिट ना करें तीसरी इंपॉर्टेंट चीज क्या है अगर आप किसी को रजिस्टर बोलते हैं तो उसके बाद आप उसपे एड्रेस ऑपरेटर यूज नहीं कर सकते क्योंकि एड्रेस कहां होता है एड्रेस आपकी रम में होता है सीपीयू रजिस्टर्स में कोई एड्रेस नहीं होता है तो क्या होगा उसमें अगर आप एन परसन ऑपरेटर लगाएंगे और आपका जो वेरिएबल है वो एक्चुअली कहां पर स्टोर्ड है सीपीय रजिस्टर में स्टोर्ड है तो भाई उसका कोई एड्रेस है ही नहीं तो आपको यह भी ध्यान रखना है आप यहां पर सिर्फ उन्हीं वेरिएबल में रजिस्टर यूज कर सकते हैं जिनमें जिनका आपको कहीं पर एड्रेस यूज़ ना करना हो उनको एज पॉइंटर यूज़ ना करना हो स्कोप क्या होता है इनका वही जो लोकल स्कोप पहले का होता था वही है लोकल टू द फंक्शन और ब्लॉक दे आर डिफाइंड इन तो जहां पर डिफाइन किए गए हैं वही इनका ब्लॉक बेसिकली स्कोप होता है स्कोप ऑटोमेटिक जैसा ही है एक्सेस क्या है बहुत ही तेजी से यानी बहुत ज्यादा यूज होने वालों को ही हम क्या बनाते हैं रजिस्टर वेरिएबल बनाते हैं ठीक है तो उम्मीद कर रहा हूं रजिस्टर भी हमको समझ आ गया है रजिस्टर मेमोरी का मतलब क्या है कहां पर होती है और रम से किस तरह से अलग है सब चीजें हमको समझ आ गई हैं और ये भी समझ आ गया है कि रजिस्टर कीवर्ड लिख के हम सजेस्ट कर सकते सकते हैं रिक्वेस्ट कर सकते हैं सी को कंपाइलर को हमारे ऑपरेटिंग सिस्टम को कि भाई प्लीज इसको आप क्या करना रजिस्टर वाली जो मेमोरी है सीपीय रजिस्टर मेमोरी के अंदर आप डाल देना है ना तो ये हुई हमारी दूसरी स्टोरेज क्लास आ जाते हैं तीसरी स्टोरेज क्लास पर जिसका नाम क्या है स्टैटिक स्टैटिक का क्या मतलब है पर्सिस यानी स्टैटिक वेरिएबल रिटेन देयर वैल्यू बिटवीन फंक्शन कॉल्स यानी अगर आप बार-बार अभी तक देखिए हम क्या कर रहे थे एक फंक्शन को एक बार कॉल करते हैं वो जैसे ही फंक्शन खत्म होता है उसके वेरिएबल को उठाकर फेंक दिया जाता है क्योंकि वेरिएबल कहां थे स्टैक में के अंदर थे अगर आप स्टैटिक बना दें तो वो क्या होता है स्टैक के अंदर स्टोर नहीं होते हैं कैसे पहले एक बार ये एग्जांपल देखते हैं देखिए हमने यहां पर एग्जांपल में क्या किया है पहले इंक्रीमेंट काउंटर देखते हैं इंक्रीमेंट काउंटर क्या कर रहा है इसके इसने अपने बेसिकली अपने ब्लॉक के अंदर क्या बनाया एक स्टैटिक इंटी जर वेरिएबल बनाया है स्टैटिक इंट काउंटर व्हिच इज ज़ीरो है ना स्टैटिक हमने यहां पर वर्ड यूज़ किया है काउंटर प्लस प्लस किया हमने ज़ीरो को क्या कर दिया है वन कर दिया है उसके बाद प्रिंट कर दिया है काउंटर का वैल्यू और ब्लॉक बेसिकली खत्म हो गया तो अगर यहां पर ये स्टैटिक ना होता तो क्या होता बस रो वैल्यू आती प्लस प्लस का मतलब वन हो जाती है और वन यहां पर प्रिंट हो जाता उसके बाद हमने क्या किया मेन के अंदर गए एक लूप चलाया हमने 0 टू लेस दन 3 0 टू लेस दन 3 का मतलब कितनी बार चलेगा रो पे चलेगा वन पे चलेगा टू पर चलेगा यानी तीन बार चलेगा ये लूप हमने तीन बार चलाया और तीन बार ये मेथड जो है जो फंक्शन है मेरा इसको मैंने यहां से इसके अंदर से कॉल कर दिया है तो होना क्या चाहिए काउंटर इज वन प्रिंट होना चाहिए अगली बार बेसिकली कॉल होगा फिर काउंटर ज़ीरो काउंटर की वैल्यू वन हो गी फिर काउंटर इज वन काउंटर इज वन तीन बार प्रिंट हो जाना चाहिए बट देखिए जब हमने फाइनल आउटपुट देखा तो प्रिंट हुआ काउंटर इज वन काउंटर काटर इज टू काउंटर इज थ्री ऐसा क्यों हो रहा है क्योंकि जो स्टैटिक वेरिएबल है वो क्या करते हैं रिटेन देयर वैल्यू बिटवीन फंक्शन कॉल्स यानी ये जो इनिश इजेशन है स्टैटिक स्टैटिक वेरिएबल का सिर्फ एक बार होता है स्टैटिक वेरिएबल को आप बार-बार इनिश नहीं करते हैं आप इस फंक्शन को चाहे 1000 बार कॉल करें ये वाला जो लाइन है ये सिर्फ एक ही बार एग्जीक्यूट होगा और इसका जो स्कोप भी है वो क्या है फंक्शन स्कोप नहीं है यानी फंक्शन मरते ही ये वेरिएबल मरने नहीं वाला है ये वेरिएबल हमेशा यहां पर रहने वाला है तो इनिश इजेशन की अगर बात करें तो स्टैटिक वेरिएबल आर ऑटोमेटिक इनिश जीरो तो ये एक्चुअली रो भी यहां पर लिखने की आपको जरूरत नहीं थी स्कोप क्या है अगर बात करें फंक्शन फाइल स्कोप स्टैटिक वेरिएबल कैन बी लोकल टू अ फंक्शन और है फाइल स्कोप इफ डिक्लेयर्ड आउटसाइड अ फंक्शन तो क्या होगा स्कोप जो है पूरा हो जाएगा अगर मैं बाहर लगाता तो इसको यहां डायरेक्टली इस्तेमाल कर सकता था अभी मैंने क्योंकि फंक्शन के अंदर लगाया तो उसको यूज तो फंक्शन के अंदर ही कर सकते हैं बट लाइफ इसकी फंक्शन के साथ डिफाइंड नहीं है इंटरनल लिंकेज मतलब फाइल स्कोप स्टैटिक वेरिएबल आर नॉट विजिबल व्हेन विद इन द फाइल दे आर डिक्लेयर्ड इन नॉट एक्सटर्नली तो अगर आपने फाइल में डि डि किया है तो फाइल में बेसिकली एक्सेसिबल होगा मेथड में डिक्लेयर किया है तो मेथड में एक्सेसिबल होगा सिंगल इंस्टेंस मतलब द वेरिएबल इज एलोकेटेड वंस एंड इज नॉट रीक्रिएटेड विद इज फंक्शन कॉल यानी एक ही बार इसको मेमोरी मिलती है उसके बाद जब तक आपका फंक्शन जब तक आपका पूरा प्रोग्राम मेमोरी में रहेगा आपका ये वेरिएबल भी मेमोरी में रहने वाला है तो बहुत जो लॉन्ग रनिंग फंक्शंस हैं लॉन्ग रनिंग प्रोग्राम्स है उनको स्टैटिक बहुत ध्यान से इस्तेमाल करना चाहिए क्योंकि हो सकता है आपका यूज फंक्शन के एंड में ही खत्म हो गया हो बट अब ये वेरिएबल नहीं मरने वाला जब तक आपका पूरा का पूरा प्रोग्राम नहीं नहीं मरेगा जब पूरा प्रोग्राम मरेगा तभी स्टैटिक मरने वाला है अदर वाइज स्टैटिक हमेशा मेमोरी में रहेगा इसका मेन एडवांटेज क्या है मेन एडवांटेज ये है कि ये हमेशा ग्लोबल रहेगा यानी इसकी वैल्यू बार-बार बार-बार चेंज नहीं होगी एक बार जो आपने वैल्यू दे दी इनिशियल वैल्यू दे दी अब फंक्शन बंद हो दोबारा खुले कुछ भी हो उसकी वैल्यू आप चेंज करते रह सकते हैं बट वो दोबारा इनिशियलिज्म क्लास की एक्सटर्नल का देखिए मतलब ही क्या है थोड़ा सा ये कॉम्प्लिकेटेड है अगेन इसका यूज़ तो ऑलमोस्ट ना के बराबर किया जाता है बट एक्सटर्नल का मतलब क्या है अगर आपको एक ऐसा वेरिएबल चाहिए जो मल्टीपल फाइल्स में यूज़ होता हो एक फाइल में नहीं पहली बात तो अभी तक हमने ऐसा कोड ही नहीं लिखा जो एक फाइल से ऊपर जा रहा हो बट अगर मान लीजिए आप ऐसा कोड लिख रहे हैं जो एक फाइल से ज्यादा जाता हो और आप ऐसा वेरिएबल चाहते हैं जो दोनों फाइल में आप सेम ही वेरिएबल यूज़ कर लें तो आप क्या यूज़ करेंगे एक्सटर्नल क्लास को यूज़ करेंगे पहले एग्जांपल देख लेते हैं एग्जांपल में हमने क्या किया है देखिए हमने दो यहां पर क्लासेस लिखी हैं एक लिखी है हेल्पर ड स और एक लिखी है मेन ड स दोनों ने देखिए क्या किया एसटीडीआईओ h को क्या किया है इंक्लूड किया है उसके बाद अगर आप यहां पर देखेंगे देखिए क्या हुआ है एक एक्सटर्नल वेरिएबल यहां पर डिक्लेयर किया गया है एक्सटर्न इंट टी वेर एक्सटर्न इंट टी वेयर इसने कर दिया है एक मेथड यहां पर इसने मेथड का प्रोटोटाइप डिक्लेयर किया है क्या वॉइड प्रिंट टी वेर यह भी क्या है सिर्फ प्रोटोटाइप है और उसके बाद इंट मेन के अंदर इसने डायरेक्टली इस मेथड को कॉल कर लिया है अब अगर हम इनकी डेफिनेशन देखें डेफिनेशन कहां पर है देखिए इंट वेरिएबल जो है यह भी दूसरी फाइल के अंदर है हेपर . स में इसकी वैल्यू भी दी गई है 42 ग्लोबल वेरिएबल डिक्लेयर किया है किसी फंक्शन के बाहर और यहां मेथड की भी जो डिक्लेरेशन है जो फाइनल एक्चुअली बॉडी है वो दिया गया है ये क्या करता है ये उठाकर बस इस एक्सटी वेयर को प्रिंट करता है तो अगर मैं यहां देखूं एक्सटर्नल लिंकेज यानी एक्सटर्न वेरिएबल आर डिफाइंड इन अनदर फाइल और आउटसाइड एनी फंक्शन इनको क्या किया जाता है दूसरी फाइल में डिफाइन किया जाता है जनरली एक्सेस इनका ग्लोबल होता है वेरिएबल बिकॉज़ एक से मल्टीपल फाइल्स में ऑलरेडी मुझे शेयर करना है तो एक्सेस तो इनका ग्लोबल रखना ही पड़ेगा अगर बात करें एक्सटर्नल डिक्लेरेशन इन वन फाइल रेफरेंसेस वेरिएबल मेमोरी लोकेशन डिफाइंड इन अनदर फाइल क्योंकि देखिए वेरिएबल कहां डिक्लेयर हुआ है यहां डिक्लेयर हुआ है तो यहां इसको मेमोरी मिली होगी बट क्योंकि मैंने एक्सटर्न इंट टी वड लिख दिया तो मैं यहां पर भी इसको एक्सेस कर पा रहा हूं यहां पर भी यहां से मैं क्या कर सकता हूं ऐसे मेथड्स को कॉल कर सकता हूं ऐसे वेरिएबल को यहां पर इस्तेमाल कर सकता हूं है ना कोई इनिश इजेशन इसका नहीं होता है यूज़ केस क्या है अगर ऐसे ग्लोबल वेरिएबल हैं जिनको मल्टीपल फाइल्स में आपको यूज़ करना है तो आप इसका इस्तेमाल करेंगे पर इसका मोस्टली आपको डेफिनेशन पढ़ना है समझना है कि ऐसा एक्सटर्नल टाइप का वेरिएबल होता है ऐसे वेरिएबल का यूसेज जनरली रिकमेंडेटरी चीजों में आप इस्तेमाल कर रहे हो ठीक है एक हमने उसके बाद आपके नोट्स के लिए एक छोटा सा चार्ट बना दिया है रिवीजन चार्ट ताकि आप जल्दी से देख सकें क्या-क्या स्टोरेज क्लास कौन-कौन सी हमने पढ़ी ऑटोमेटिक पढ़ी रजिस्टर पढ़ी स्टेटिक पढ़ी एक्सटर्न पढ़ी स्टोरेज कहां-कहां होती है ऑटोमेटिक तो आपकी मेमोरी मतलब रम के अंदर ही स्टोर होता है रजिस्टर आप रिक्वेस्ट करेंगे कि सीपीयू रजिस्टर में स्टोर हो वरना मेमोरी में भी स्टोर हो सकता है और स्टैटिक ब एक्सटर्न भी सब कहां होते हैं बेसिक मेमोरी में स्टोर होते हैं ओनली आउटलायर क्या है रजिस्टर है जो कहां होता है सीपीयू रजिस्टर के अंदर स्टोर होने की कोशिश करता है डिफॉल्ट वैल्यू की बात करें तो ऑटोमेटिक और रजिस्टर में जाती है गार्बेज वैल्यू और स्टैटिक और एक्सटर्न में जाती है डिफॉल्ट यानी ज़ीरो वैल्यू ठीक है उसके बाद स्कोप की अगर बात करें ऑटोमेटिक वाला तो हमको पता ही है लोकल स्कोप होता है रजिस्टर भी लोकल स्कोप होता है स्टैटिक में क्या होता है स्कोप हमेश बेसिकली जहां आप डिफाइन करेंगे वहीं का बेसिकली यहां भी क्या होगा लोकल स्कोप होगा बट एक्सटर्न में ग्लोबल स्कोप होना जरूरी है क्योंकि वहां तो आप मल्टीपल फाइल्स में ही वेरिएबल को इस्तेमाल करना चाह रहे हैं और अगर लाइफ की बात करें ऑटोमेटिक की लाइफ वहीं तक रहेगी जैसे ही स्टैक गया वैसे ही आपका गया यानी टिल द कंट्रोल रिमेंस विद इन द ब्लॉक जब तक ब्लॉक है तभी तक रहेगा रजिस्टर में भी सेम है जब तक बेसिकली स्कोप है तब तक रहेगा स्टार्टिंग में थोड़ा डिफरेंट है यानी वैल्यू ऑफ़ वेरिएबल पर्सिस बिटवीन डिफरेंट फंक्शन कॉल्स यानी डिफरेंट फंक्शन कॉल जब तक होंगी बेसिकली मल्टीपल फ फंक्शन कॉल भी होंगी तो क्या होगी वैल्यू सेम रहेगी और एक्सटर्न में भी क्या होगा एज लॉन्ग एज प्रोग्राम एग्जीक्यूशन डजन कम टू एन एंड तो दोनों में ही क्या है स्टैटिक और एक्सटर्न में जब तक आपका पूरा प्रोग्राम खत्म नहीं होता तब तक आपका जो वेरिएबल है वो मेमोरी नहीं छोड़ने वाला ठीक है अगेन एक छोटी सी अगेन समरी है कि आपको कहां-कहां इसको इस्तेमाल करना चाहिए अभी तो हमने इनकी वैल्यूज को समझा यानी इनकी प्रॉपर्टीज को समझा बट मैं यह कैसे समझूं कि कहां मैं किसको इस्तेमाल करूं तो अगर मैं ऑटो की बात करूं तो लोकल वेरिएबल बाय डिफॉल्ट इसके लिए बेसिकली ऑटो में ही चलते हैं और आपको कब यूज़ करना है यूज व्हेन यू नीड अ वेरिएबल दैट इज ओनली एक्सेसिबल विद इन इट्स ब्लॉक स्कोप यानी आप अगर नॉर्मल वेरिएबल इस्तेमाल करना चाहते हैं और चाहते हैं जहां मैं डिफाइन कर रहा हूं बस ये वहीं पर इस्तेमाल हो तो आप इसको डिफाइन कर सकते हैं रजिस्टर आपको कब यूज़ करना है बेसिकली कंपाइलर हिंट को इग्नोर कर सकता है बट कोई ऐसा वेरिएबल जो बहुत ज्यादा हैवली यूज अगर हो रहा है तो अपनी परफॉर्मेंस को इंप्रूव करने के लिए आप सीपीयू से रिक्वेस्ट कर सकते हैं कि भाई इसको आप रजिस्टर में सेव कर लें स्टैटिक मुझे कब यूज़ करना है होना तो वैसे लोकल चाहिए विदन द फंक्शन यू वांट बट यू हैव अगर आप ऐसा चाहते हैं कि दे शुड रिटेन देयर वैल्यू तो आप क्या करेंगे स्टैटिक को यूज करेंगे और अगर एक्सटर्न की मैं बात करूं तो यू नीड एक्सेस टू द वेरिएबल डिफाइंड इन अनदर फाइल अगर मल्टीपल फाइल्स के बीच में आपको चाहिए सिंक्रोनाइजेशन मल्टीपल फाइल्स के बीच में आपको सेम वेरिएबल यूज़ करना है तो आप यूज़ करेंगे एक्सटर्न तो क्या है जल्दी से आपको याद हो जाने चाहिए कि मेरे को कब कौन सा यूज करना होता है किसकी क्या प्रॉपर्टी है अगेन प्रैक्टिकली इनका यूज बहुत कम है इसको मोस्टली पढ़ाया जाता है एग्जाम पॉइंट ऑफ व्यू से आजकल कि आपको एग्जाम में या इंटरव्यू में अगर पूछा जाए तो आप इनका जवाब दे पाएं आपको समझ आए कि सीपीयू रजिस्टर भी कोई चीज होती है ऑटो तरह की या अगर मेरे पास कोई स्पेशल ऐसा सिनेरियो आया है कि मल्टीपल बार के बाद भी जो वैल्यू है वो चेंज ना हो तो मैं स्टार्ट उसको रख सकता हूं कि इस तरह की जो चीजें हैं वो आपके पास अवेलेबल हैं अगर नीश केस आपको कहीं पर जरूरत पड़े तो आप इसको इस्तेमाल कर सकें ठीक है अब आ जाते हैं रिवीजन पे देखिए छोटा सा टॉपिक था थोड़ा सा ज्यादा थ्योर था है ना बट हमको यहां पर पढ़ना था लॉन्ग और साइंड अनसाइंड हमने अच्छे से समझा उनको यूज कैसे करना है ये भी हमने देखा और उसके बाद चारों की चारों स्टोरेज क्लासेस हमने देखी और उनका किस तरह से और कहां-कहां हमको कैसे इस्तेमाल करना है वो भी हमने समझ लिया तो यहां थ्योरिया ओवर अब इसके बाद के जो दो चैप्टर हैं एरे और स्ट्रिंग बहुत ही इंपोर्टेंट चैप्टर्स हैं है उनसे ही आपका जो जो बच्चे डीएसए भी सीखना चाहते हैं हमारा डीएसए का कोर्स भी है वैसे आप लिंक में देख सकते हैं बट पहले जब तक आपको एरे और स्ट्रिंग समझ नहीं आया आप डीएसए भी ठीक से समझ नहीं पाएंगे पहले डीएस डीएसए से पहले जो आपको बेसिक प्रोग्रामिंग करनी है एर और स्ट्रिंग की वो बहुत सारे हम यहां पर एग्जांपल्स करने वाले हैं आपको पढ़ के भी बहुत मजा आएगा देखकर भी बहुत मजा आएगा और एक्चुअल प्रोजेक्ट्स में भी अगर आपको बनाने हैं प्रोजेक्ट में भी स्ट्रिंग और आपका एरे जो है बहुत ज्यादा इस्तेमाल होने वाला है तो यहां इसको रैप अप करते हैं इसके थोड़े से एग्जांपल करेंगे उसके बाद जाएंगे हम कहां पर एरे की तरफ आ गए हैं दोस्तों हम चैप्टर नंबर एट के चैलेंज की तरफ देखिए बहुत थोड़ा सा थोरेट्स अनसाइंड देखा तो उसी पे थोड़ी सी प्रैक्टिस करेंगे सिर्फ तीन चैलेंज हमारे पास यहां पर हैं छोटा सा चैप्टर था पर जल्दी-जल्दी इनको पढ़ते हैं एक बार ट्राई करते हैं क्या है क्रिएट अ प्रोग्राम दैट कन्वर्ट्स अ लार्ज नंबर ऑफ किलोमीटर्स टू माइल्स यानी आपको एज्यूम करना है कि बहुत बड़ा आपको नंबर ऑफ किलोमीटर्स मिलेगा जिसको आपको माइल्स में कन्वर्ट करना है और यूज क्या करना है आपको लॉन्ग या फिर लॉन्ग लॉन्ग आपको यूज करना है टू स्टोर द डि डिटेंस ठीक है राइट अ प्रोग्राम टू डेमोंस्ट्रेट द डिफरेंस इन रेंज बिटवीन एक ऐसा प्रोग्राम लिखिए जो रेंज का डिफरेंस बताए लॉन्ग में और लॉन्ग लॉन्ग में और आपको एटलीस्ट 20 तक का फैक्टोरियल करना है देखिए हमने ऑलरेडी किया था 15 तक का 20 पर हम शॉर नहीं थे तो आप लॉन्ग की जगह भी लॉन्ग लॉन्ग यूज़ करिए इनके साइजेस के हिसाब से फैक्टोरियल 20 या उससे भी बड़ा नंबर आपको यहां पर फैक्टोरियल करके दिखाना है लास्ट क्या है राइट अ सी प्रोग्राम दैट इनिश इइ एंड अनसाइंड इं टू इट मैक्सिमम पॉसिबल वैल्यू एक अनसाइंड इंट को उसकी मैक्सिमम पॉसिबल वैल्यू तक लेकर जाना है पर असाइन करना है एंड देन एंड एंड एन इंट टू अ नेगेटिव नंबर तो और इंट को एक नेगेटिव नंबर ले जा लेकर जाना है एंड ऐड वन टू बोथ एंड प्रिंट द रिजल्ट्स टू शो हाउ अनसाइंड इंट रैप्स अराउंड ज़ीरो वेयर एज द इंट रिमेंस नेगेटिव ड्यू टू द ओवरफ्लो तो आपको दिखाना है कैसे अनसाइंड इंट बेसिकली रैप करके वापस कहां आ जाएगा ज़ीरो पर आ जाएगा बट जो बेसिकली नॉर्मल इंटी जर है वो नेगेटिव ही रहने वाला है तो ये आपको दिखाना है तीन ही क्वेश्चन है एक बार इनको ट्राई करिए अगर आपको सॉल्यूशन देखना है थोड़ा सा हेल्प चाहिए कुछ भी चाहिए तो नीचे जो बेसिकली इनका पूरा सॉल्यूशन वीडियो जिसकी हमने बात की है उसका आपको लिंक नीचे मिल जाएगा उस सॉल्यूशन वीडियो में वहां गेट अप का भी लिंक होगा अगर आपको सिर्फ बेसिकली देखना है रिटन सॉल्यूशन तो वो भी आप वहां पर देख सकते हैं यह करिए फिर जल्दी से चलते हैं अपने इंपॉर्टेंट चैप्टर नंबर नाइन की तरफ तो चलिए दोस्तों स्टार्ट करते हैं हमारा अगला चैप्टर जिसका नाम क्या है अरेज देखिए ये क्या है वन अगेन अगर मैं बेसिक्स के बाद बात करूं एडवांस टॉपिक्स में तो यह वन ऑफ द मोस्ट इंपोर्टेंट टॉपिक्स है फ्रॉम जॉब पॉइंट ऑफ व्यू फ्रॉम एग्जाम पॉइंट ऑफ व्यू फ्रॉम डीएसए पॉइंट ऑफ व्यू फ्रॉम इन जनरल लैब पॉइंट ऑफ व्यू प्रोजेक्ट पॉइंट ऑफ व्यू हर पॉइंट ऑफ व्यू से यह शायद सबसे इंपॉर्टेंट चैप्टर आपका होने वाला है डीएससी की भी जितनी प्रॉब्लम्स पूछी जाती हैं उनमें कम से कम 60 70 पर प्रॉब्लम्स में या तो वो डायरेक्टली एरे पर प्रॉब्लम होती हैं या एरे से रिलेटेड प्रॉब्लम होती है तो हम क्या करेंगे एरे को थोड़ा ध्यान से पढ़ेंगे इसकी इसके जो कांसेप्ट हैं उनको बहुत ध्यान से समझेंगे इसकी बेसिक जो यहां पर प्रॉब्लम सॉल्विंग है उसके बहुत सारे एग्जांपल्स बहुत सारी प्रैक्टिस हम करेंगे ताकि हमारा डीएससी के लिए एक बहुत अच्छा बेस जो जो है वो बन पाए तो अगर आपने बेसिक्स के दो-तीन चैप्टर्स में ध्यान दिया था इफ में फॉर में और उसके बाद आपका ध्यान भटक गया है एक यह टॉपिक है यह चैप्टर है जो मैं बोलूंगा जिसमें आपको सबसे ज्यादा ध्यान देना चाहिए दिस इज वन ऑफ द मोस्ट इंपोर्टेंट चैप्टर्स आई कैन नॉट स्ट्रेस दिस इनफ इससे ज्यादा मैं ये बात बोल नहीं सकता हूं कि ये सब वन ऑफ द सबसे इंपॉर्टेंट चैप्टर होने वाला है इसलिए देखिए थोड़े जो यहां पर टॉपिक्स हैं वो भी थोड़े से ज्यादा हैं बट सबसे अच्छी बात क्या है इस टॉपिक के साथ कि ये बहुत इंपॉर्टेंट तो जरूर है पर मुश्किल बिल्कुल नहीं है तो अगर आपको एक बार मेरी बात ठीक से समझ आ गई आपने बात ध्यान से सुन ली तो अगले 1 घंटे में आपको जो अरेज टॉपिक है वो ठीक से समझ आ जाएगा दूसरी अच्छी बात क्या है यह ऑलमोस्ट हर लैंग्वेज में एजिस्ट करता है तो एक बार अगर आपने अरेज किसी भी लैंग्वेज में समझ लिया मैं अज्यू कर रहा हूं स आपकी पहली लैंग्वेज है बट अगर आपने यहां एरे ठीक से समझ लिया तो आपको दोबारा किसी भी लैंग्वेज में एरे दोबारा समझने की जरूरत नहीं पड़ेगी ठीक बात है तो चलिए स्टार्ट करते हैं सबसे पहला टॉपिक पहले देखते हैं नीड ऑफ एरे एरे की जरूरत क्या है तो यहां मैं बिल्कुल नहीं रुकूंगा पहले चलते हैं अपने कोडिंग एनवायरमेंट की तरफ वहां जाके मैं आपको एक सिनेरियो हम लेते हैं उसको करके देखते हैं फिर हम समझेंगे कि एरे की नीड एक्चुअली जरूरत क्या है एरे की हमको जरूरत पड़ती क्यों है है ना तो पुराने चैप्टर्स तो हमारे हो गए हैं आठ चैप्टर तक यहां हो गए थे हम क्या करते हैं यहां पर बनाते हैं एक नया चैप्टर नाइन अरेज है ना इसके अंदर अब फाइल बना लेते हैं मान लीजिए रेड स बहुत अच्छी बात है एक्सप्लोरर को अब हम बंद कर देंगे और अपना कोड जो है हम लिखना स्टार्ट करते हैं सिनेरियो क्या है मान लीजिए सिनेरियो यह है मैं बोलता हूं कि आप एक ट्यूशन पढ़ाते हैं जैसे मैं मान ली लीजिए आप लोगों को पढ़ा रहा हूं है ना और आपके पास पांच बच्चे हैं है ना और उन पांच बच्चों के जो मार्क्स हैं वह आपको इनपुट कराने हैं और आउटपुट कराने हैं यही आपको करना है यूजर से पांच बच्चों के मार्क्स इनपुट कराइए और बाद में वह पांच मार्क्स दिखाइए तो चलिए एक बार वह हम करके देखते हैं कैसे करेंगे अभी तक अभी तक की जितनी नॉलेज है इससे हम यह काम कर सकते हैं बाद में हम देखेंगे एरे इस को कैसे सिंपल बनाता है तो मैं बोलता हूं इंक्लूड एसटीडी ए है ना यह बात ठीक है उसके बाद क्या करेंगे इंट मेन अब हमको क्या करना है पांच बच्चों के मार्क्स रखने हैं फिलहाल हम ये मान लेते हैं वैसे मार्क्स पॉइंट में भी हो सकते हैं फिलहाल हम ये मान लेते हैं मान लीजिए मार्क्स जो है वो इंटी जर मार्क्स है तो बोलता हूं मार्क्स इंटी जर पर इसमें तो एक बच्चे के मार्क्स आ पाएंगे तो मैं क्या कर सकता हूं कोई बात नहीं नंबर यूज कर लेते हैं बोल देता हूं मान लीजिए मार्क्स वन है ना और ऐसे करके हम क्या कर लेते हैं पांच मार्क्स डिक्लेयर कर लेते हैं बोलता हूं मार्क्स टू मार्क्स थ्री मार्क्स फोर मार्क्स फाइ है ना वैसे हम क्या भी कर सकते थे ह हर एक को हमें अलग लाइन में लिखने की जरूरत नहीं है हम क्या कर सकते हैं मा व क्योंकि सारे के सारे में इंटी जर डिक्लेयर कर रहा हूं मार्क्स टू मार्क्स ्र मार्क्स फोर दोनों एक ही बात है इसमें थोड़ा एक ही लाइन में हमारा काम हो जाएगा ज्यादा स्पेस गिरेगा नहीं है ना हालांकि बहुत सारी कंपनीज में मैंने देखा है यह मैंडेट होता है कि आप एक लाइन में मल्टीपल आर्गुमेंट को मल्टीपल वेरिएबल को सॉरी डिक्लेयर नहीं करेंगे है ना पर एनीवे मतलब जिसको जैसा अच्छा लग वैसे कर सकता है कंपाइलर को इससे कोई प्रॉब्लम नहीं है तो पांच मार्क्सस हमने डिक्लेयर कर लिए अब मान लीजिए यूजर से हम बोल देते हैं क्या प्रिंट एफ प्लीज एंटर फाइव एंटर मार्क्स फॉर स्टूडेंट वन स्टूडेंट वन के जरा आप मार्क्स जो है वो एंटर कर दीजिए प्रिंट एफ हमने कर दिया उसके बाद यहां क्या करेंगे स्कैन एफ करना पड़ेगा है ना हमको क्या करना है मार्क्स इनपुट कराना है कैसे करेंगे पहले लिख देंगे एक स्पेस फिर देंगे परसेंटाइल डी स्पेस क्यों ये हमने पहले बात की थी पुराना जो वैसे नंबर करते हुए हमको स्पेस देने की जरूरत पड़ती नहीं है कैरेक्टर या स्ट्रिंग करते हुए पड़ती है बट ये अच्छी प्रैक्टिस है कि पुराने जो भी एंटर वगैरह है उनको आप स्किप कर दें और उसके बाद दे दें n पसन मार्क्स वन ठीक है अब ये एक बच्चे के मार्क्स आ गए हमको कितने के मार्क्स चाहिए हमको पांच के मार्क्स चाहिए तो इसको हम क्या करेंगे 3 4 पा टू थ कोई पूछेगा सर जब भी रिपीटेड काम हो रहा है तो हम इसको लूप से क्यों नहीं कर रहे बेटा लूप से अभी हम इसको इसलिए नहीं कर सकते क्योंकि हर बार हमको अलग वेरिएबल में जो मार्क्स हैं वो इनपुट कराने हैं है ना तो अलग-अलग वेरिएबल हम कैसे यूज़ करेंगे तो व भी हम नहीं कर सकते पांच बच्चों के हमने मार्क्स इनपुट करा लिए अब हम करेंगे इसको प्रिंट तो मैंने बोला प्रिंट f मार्क्स ऑफ स्टूडेंट वन आर परसेंटाइल d और इसको बोल देते हैं मार्क्स व है ना अब इस बार इन पर्सन हमको लगाने की जरूरत नहीं है स्कैन करते हुए हमको एड्रेस देना पड़ता है बट जब हम प्रिंट करेंगे तो हम डायरेक्ट वैल्यू प्रिंट कर रहे हैं यहां एक ब n भी दे देते हैं ताकि यह नेक्स्ट लाइन में आय और ये क्या करना है ये भी हमको पांच बार करना है है ना तो मार्क्स वन मार्क्स टू मार्क्स थ्री मार्क्स फोर मार्क्स फाइव और यहां स्टूडेंट भी क्या करेंगे स्टूडेंट वन स्टूडेंट टू स्टूडेंट थ्री स्टूडेंट फोर स्टूडेंट फाइव तो देखिए यहां मेरे को लग रहा है कि हमारा काम ऑलमोस्ट डन हो गया है रिटर्न जीरो कर देते हैं एक बार इसको हम अपने देखिए काफी लंबा सा हमारा कोड हो गया एक बार इसको चलाक देखते हैं बट हमने काफी कम टाइम में फिर भी दो-तीन मिनट में हमने काम अपना कर लिया है आ जाते हैं चैप्टर नंबर नाइन में करते हैं कंपाइल जीसीसी एड स - o एरे डॉट आउट ठीक बात है एरे डॉट आउट को चलाकर देख लेते हैं अब देखिए बोल रहा है स्टूडेंट वन के मार्क्स एंटर करिए मान लीजिए मैंने बोला 43 टू के करिए 67 34 87 56 पांच के पांच बच्चों के मैंने मार्क्स एंटर कर दिए और देखिए इसने पांच के पांच बच्चों के मार्क्स मुझे एज इट इज शो करा दिए तो जो टास्क हमतो मिला था वो हमको मिला था वो तो हमने कर लिया तो एरे की क्या जरूरत है एरे की कोई जरूरत नहीं है देखिए अगर अब मैं बोलूं आपको कि भाई एक काम करो जरा पांच बच्चे नहीं है आपकी ट्यूशन क्लास बहुत अच्छे से चल गई है और आपको क्या करना है 50 बच्चों के मार्क्स इनपुट कराने हैं और उसके अगले दिन क्या करना है 500 बच्चों के मार्क्स इनपुट कराने हैं तो अब आपको लगेगा पहले बात तो यहां 500 वेरिएबल डिक्लेयर करो उसके बाद 500 एक-एक करके इनपुट लो 500 एक-एक करके आउटपुट दो तो समझ आ रहा है कि कई बार क्या होता है हमको एक ही टाइप की डाटा स्ट्रक्चर की डटा टाइप की बहुत सारी वैल्यूज चाहिए पर हम हर एक का अलग अलग-अलग नाम रखना अफोर्ड नहीं कर सकते एक ही टाइप की चीजें यहां मार्क्स 1 2 3 हम जानबूझकर यहां 1 2 3 लगा रहे हैं इनको अलग-अलग करने के लिए बट है तो सब मार्क्स ही तो अगर आपको एक कलेक्शन चाहिए एक ग्रुप चाहिए कहे का सेम टाइप के डटा टाइप्स का तो उसके लिए वहां एंट्री मारता है हमारा एरे तो एक काम हम बीच में कर लेते हैं क्या ये जो हमने एरेड सी लिखा है इसको हम रिनेम कर देते हैं कैसे नीड ऑफ एरे में है ना ताकि ये क्लेरिटी रहे वापस आ जाते हैं तो अब देखते हैं नीड ऑफ एरे नीड ऑफ एरे क्या है एंड एरे इज जस्ट अ लिस्ट ऑफ वैल्यूज यानी यह जो बेसिकली सी है यह प्रोवाइड करता है कि अगर आपको एक ही टाइप की बहुत सारी वैल्यूज चाहिए तो आप क्या कर सकते हैं एक एरे डिक्लेयर कर सकते हैं अरेज आर यूज्ड फॉर स्टोरिंग मल्टीपल वैल्यूज इन अ सिंगल वेरिएबल अगर आपको एक ही वेरिएबल में यानी मैं बोलूं मार्क्स ही है और उसी के अंदर पांचों के पांचों मार्क्स आपको स्टोर करने हैं तो कौन काम आएगा मेरा एरे आपका काम आएगा किस तरह से ये क्या करता है आपको एक साथ बहुत सारे वैल्यूज देता है और वो स्टार्ट कहां से होते हैं जीरो से स्टार्ट होते हैं अभी हम ये बात इस बात को समझेंगे कि जीरो से स्टार्ट होने का क्या मतलब है बट मान लीजिए आप बोलेंगे मार्क्स जीरो मार्क्स वन मार्क्स टू मार्क्स थ्री मार्क्स फोर मार्क्स फाइव तो आपके कितने मार्क्स हो गए टोटल सिक्स मार्क्स हो गए और ये जो 0 1 2 3 है ये मान लीजिए आप क्लास में कौन सी डेस्क पर बैठे हैं आप लाइन में कौन से नंबर पर खड़े हैं ये वो नंबर है और ये नंबर कहां से स्टार्ट होता है कंप्यूटर साइंस में नंबर्स हमेशा जीरो से स्टार्ट होते हैं वन से स्टार्ट नहीं होते है ना तो 0 1 2 3 4 5 हो गए हमारे छह नंबर्स ठीक है तो ये तो हुआ नीड ऑफ एन एरे अगर मेरे को एरे डिक्लेयर करना है तो मैं एरे डिक्लेयर करूंगा कैसे डिक्लेयर मतलब मैं कैसे एरे को यूज करूंगा तो आप क्या कर सकते हैं सिंटेक्स क्या है डिक्लेयर्ड बाय स्पेसिफाइड साइज इन ब्रैकेट्स किस तरह से आप ऐसे बोल सकते हैं इंटी जर ए आर आर बकेट ीज 10 इसका मतलब क्या है मुझे 10 इंटी जर एक साथ स्टोर कराने हैं और उनका नाम क्या होना चाहिए उनका नाम होना चाहिए ए आर आर तो अगर मैं वापस आऊ अपने एग्जांपल में इसकी एक जरा कॉपी बना लेते हैं हम नीड ऑफ एरे की और इसका नाम क्या रख देते हैं इस बार इसका नाम रखते हैं एरे डिक्लेरेशन एक्सप्लोरर को करते हैं बंद नीड ऑफ एरे को कर देते हैं बंद तो ये क्या बोल रहा है कि आप मार्क्स जो टू 3 4 5 कर रहे हैं इस तरह से मत कीजिए आपको क्या करना चाहिए आप कर सकते हैं इसको इंट मार्क्स और यहां दे दीजिए पाच यानी मैं बोल रहा हूं क्या-क्या मैंने दिया तीन चीजें दी इंटी जर यानी इसका टाइप दिया किस टाइप का मेरे को रखना है मार्क्स यानी नाम दिया कि मेरे को वेरिएबल का नाम क्या रखना है और उसके बाद कितने मार्क्स मुझे चाहिए तो अगर मेरे पांच मार्क्स चाहिए तो मैंने पांच दे दिया कल को मुझे 50 चाहिए तो मैं यहां 50 दे दूंगा 500 चाहिए तो मैं यहां 500 दे दूंगा मेरे को अलग-अलग नाम हर वेरिएबल का रखने की जरूरत नहीं है क्या होगा एक ही नाम से मैं जितना भी साइज है मेरा उसको मैं डिक्लेयर कर सकता हूं ठीक है तो यहां ये बात समझ आ गई कैसे करेंगे मैं ना मैं लिखूंगा अपना डाटा टाइप लिखूंगा नाम लिखूंगा साइज और साइज जो है वो फिक्स्ड होना चाहिए यानी यहां पर आप कोई वेरिएबल नहीं दे सकते मैं क्या कर सकता अगर साइज में आप यहां कांस्टेंट की जगह यानी कोई लिटरल की जगह फ की जगह कोई वेरिएबल देंगे तो वो कुछ केसेस में चल सकता है कुछ केसेस में नहीं चल सकता उसका जो यूज़ है व क्या है डिपेंड करेगा आपका सी का कंपाइलर क्या है जो मॉडर्न सी के कंपाइलर हैं आई थिंक c99 के बाद ऐसा कुछ सपोर्टेड है उसको वैराग बोला जाता है वो एक अलग टाइप का एरे बनता है है ना बट आपको यह बात याद रखनी है कि जब भी आप एरे डिक्लेयर कर रहे हैं अगर आप चाहते हैं आपका प्रोग्राम कंपैटिबल हो हर जगह चले तो ये क्या होना चाहिए या तो ऐसे फिक्स्ड कोई इंटी जर लिटरल होना चाहिए या कांस्टेंट एक्सप्रेशन होना चाहिए ठीक है अगली बात क्या आई ज़ीरो बेस्ड इंडेक्सिंग जिसकी अभी हमने इससे पहले पले बात की थी क्या कि इसके अंदर जब भी हमको इनको एक्सेस करना होगा अभी आगे चलके देखें एक्सेस कैसे करना है बट बेसिकली इंडेक्सेस जो है वो जीरो से स्टार्ट होंगे 0 1 2 3 4 स्टोरेज इंपॉर्टेंट बात कंटीन्यूअस ब्लॉक ऑफ मेमोरी यानी आपकी मेमोरी में ये सारे के सारे जो नंबर्स हैं आपके इंटी जर्स हैं आपने पांच बोला है 50 बोला है या 500 बोला है वो सारे के सारे कंटीन्यूअस एक ही जगह पर होंगे एक ही लाइन से होंगे तो आपको आप जब बोलेंगे अभी कि मुझे 500 मान लीजिए इंटी जर के लिए जगह चाहिए और मान लीजिए एक इंटी जर 4 बाइट का है तो को क्या करना पड़ेगा 500 * 4 4 बाइट करेगा यानी 2000 बाइट का वो पहले कंटीन्यूअस जगह ढूंढेगा मेमोरी में कि कहीं मेमोरी में ऐसी जगह है क्या जहां 2000 बाइट एक साथ खाली हो वो वहीं पर खाली करके आपको क्या देगा एक एरे बनाकर देगा तो एरे का सबसे इंपॉर्टेंट पॉइंट यही आगे चलके हम और भी डटा स्ट्रक्चर्स पढ़ेंगे बट एरे का सबसे इंपोर्टेंट पॉइंट क्या है इसकी स्टोरेज जो है वो कंटीन्यूअस होती है मेमोरी में आपको पता है अगला नंबर मेरा इससे अगली एड्रेस पर होगा यानी एक के बाद एक अगर हम घर के एड्रेसस की बात करें तो ये वाले सारे क्या होंगे पड़ोसी होंगे एक दूसरे के एक के बाद एक एक के बाद एक लाइन लगाकर वहीं पर बैठे हुए होंगे टाइप यूनिफॉर्म इंपॉर्टेंट है क्या अरे में आप ये नहीं बोल सकते कि मुझे पांच इंटी जर चाहिए पांच फ्लोट चाहिए पांच कैरेक्टर चाहिए या कुछ-कुछ और चाहिए और एक 15 साइज का एरे बना दीजिए नहीं एरे एक ही टाइप का होगा एक ही साइज का होगा अगर आपको कुछ और किसी और टाइप के चाहिए तो उनके लिए आपको अलग एरे बनाने पड़ेंगे यानी एरे का टाइप जो है वो हमेशा क्या होना चाहिए सेम होना चाहिए तो ये तो हुई एरे डिक्लेरेशन की बात अगर डिक्लेरेशन के बाद देखें सबसे इंपॉर्टेंट चीज जो आती है कि यार इसको x कैसे करेंगे है ना यूज कैसे करेंगे अभी सर आपने क्या किया है हमने यहां पर मार्क्स डिक्लेयर तो कर दिया पर यहां तो पूरे में एरर आने लगी है अभी है ना तो ये वाला मार्क्स वन टू अब मेरे को मार्क्स वन एक्सेस करना है तो मैं मार्क्स वन एक्सेस करूंगा कैसे तो देखिए जो हम सबसे बात कर रहे हैं इंडेक्सेस यानी जीरो से इंडेक्सिंग शुरू होगी उसी तरह से आप इनको एक्सेस कर सकते हैं कैसे यूज इंडेक्सेस किस तरह से एक्सेस करना है सिंटेक्स होता है ए आरआर आपका जो भी एरे है दो स्क्वायर ब्रैकेट आप लगाइए जैसे आपने साइज के लिए लगाए और उसके बाद उसके अंदर इंडेक्स अपना लिख दीजिए कि आपको कौन से वाला मार्क्स एक्सेस करना है यानी अगर मुझे पहला मार्क्स एक्सेस करना है तो मैं क्या करूंगा मैं लिखूंगा मार्क्स उसके बाद लगाऊंगा ब्रैकेट और पहला कहां से स्टार्ट होगा जीरो से स्टार्ट होगा पहला मार्क्स पढ़ा होगा जीरो पे दूसरा वन पे ये बात याद रखिएगा एक कंफ्यूजन कई बार एग्जाम में या इंटरव्यू में गलती करा देता है स्टार्टिंग हमेशा जीरो से होगी यानी कोई भी इस इस टाइप का डाटा स्ट्रक्चर है इंडेक्स कहां से स्टार्ट होगा जीरो से स्टार्ट होगा तो जीरो पर होगा पहला मार्क्स इसको कर देते हैं कॉपी पेस्ट हमको क्या करना है ये होगा दूसरा तीसरा चौथा पांचवा और वैल्यू क्या-क्या होंगी दूसरा होगा वन पर तीसरा होगा टू पर चौथा होगा तीन पर और पांचवा होगा चार पर तो ये भी बात याद रखिएगा इंडेक्स की रेंज मान लीजिए साइज पांच है तो इंडेक्स की रेंज क्या होगी जीरो टू फोर होगी यानी जो भी साइज है उससे एक कम जाती है आपके इंडेक्स की रेंज तो जब मैं मार्क्स इनपुट करा रहा हूं तो पहले बच्चे के मार्क्स पढ़े होंगे मार्क्स जीरो पर दूसरे के पढ़े होंगे मार्क्स वन पर तीसरे के पढ़े होंगे मार्क्स टू पर चौथे के पड़े होंगे मार्क्स थ्री पर पांचवे के पड़े होंगे मार्क्स फोर पर और यह 01 2 3 4 से फाइनल हम लोकेशन तक कैसे पहुंच रहे हैं अभी आगे चलके पॉइंटर एरिथ मेे िक जो हम पहले छोड़ आए थे वो यहां पर देखेंगे वहां पर एगजैक्टली हम आपको दिखाएंगे कि कैसे कंटीन्यूअस मेमोरी लोकेशंस को एक्सेस किया जाता है बट आपको अ ये मान के चलना है कि इन सबको हम कैसे एक्सेस करेंगे मार्क्स नाम से ही एक्सेस करेंगे और 0 1 2 3 4 लगाकर करेंगे ये सेम चीज अब हम यहां पर भी कर देते हैं जहां हमको शो करना था तो इसको कर देते हैं मार्क्स जीरो इसको कर देते हैं फिलहाल मार्क्स है ना कॉपी पेस्ट कर लेते हैं सबको बात में इंडेक्सेस जो है हम यहां पर डाल देंगे 0 1 2 3 4 तो देखिए अब क्या हो गया है मेरे को पांच मार्क्स डिक्लेयर करने की जरूरत नहीं पड़ी इसको मैं यहां से देता हूं हटा पांच मार्क्स मुझे डिक्लेयर करने की जरूरत नहीं पड़ी मैंने मार्क्स फाइव करके डिक्लेयर किया और उसके बाद क्या किया 0 1 2 3 4 लगाकर इनको पहले इनपुट करा लिया और फिर 0 1 2 3 4 लगाकर मैंने इनको प्रिंट करा दिया एक बार इसको चलाकर देख लेते हैं मैं क्या बोल बोलूंगा जीसीसी एरे डिक्लेरेशन ड सी - o एरे डिक्लेरेशन डॉट आउट मेरा बन के तैयार हो गया है इसको चलाकर देख लेते हैं एरे डिक्लेरेशन देखिए क्या बोल रहा है पहले स्टूडेंट के मार्क्स एंटर करिए मान लीजिए मैं बोलता हूं 1 2 3 4 पा सारे बच्चे मेरे फेल हो गए सब के सबके सिर्फ एक से पांच तक ही नंबर आए वैसे मेरे बच्चों के कभी ऐसा होता नहीं है जो भी मुझसे पढ़ रहा है मेरे बच्चों के हमेशा अच्छे नंबर भी आते हैं अच्छी जॉब भी लगती है है ना तो देखिए हुआ क्या पांच के पांच मार्क्स चले गए पांच के पांच मार्क्स यहां पर वापस भी आपके आ गए हैं तो हमने देख लिया कि एक्सेस हमको कैसे करना है यानी इंडेक्सेस को हमको यूज करना है है ना और क्या करना है हमेशा जीरो से स्टार्ट करना है आइट अभी हम देखेंगे आगे लूप्स को कैसे चेक कर सकते हैं और बाउंड चेकिंग भी अभी मैं आपको और बताऊंगा नोट्स में आपके यहां पर लिखा हुआ है कि बाउंड चेकिंग का यहां पर मतलब क्या है पहले यहां पर आप क्या देखेंगे देखिए हमने पांच मार्क्स मान लीजिए दिए थे ये देखिए ये मेरे बच्चों के एक्चुअल मार्क्स हैं 90 97 95 99 और 100 है ना और हो क्या रहा है हमने बात की थी कि ये सारे की सारी कहां होंगी कंटीन्यूअस मेमोरी लोकेशंस भी होंगी तो मेमोरी एड्रेस क्या है अगर पहले का मेमोरी एड्रेस 3020 है और दो बाइट का मेरा क्या है एक इंटी जर जो है वो दो बाइट का है तो अगले वाला कहां होगा 322 पर उससे अगला कहां होगा 3024 अगला 3026 अगला 3028 सब क्या होंगे लाइन से दो-दो वाइट दो-दो बाइट दो-दो बाइट बार लगे हुए वहां पर होंगे और मैं एक्सेस कैसे इनको करूंगा मार्क्स जीरो मार्क्स व मार्क्स टू मार्क्सस थी मार्क्स फोर कोड लगाकर मैं इन पूरी की पूरी सारी की सारी जो मेरी कंटीन्यूअस मेमोरी लोकेशन है पांच के पांच मेरे मार्क्स हैं इनको मैं इस तरह से एक्सेस कर सकता हूं एक बात जो आपको एक्सेस करते हुए ध्यान रखनी है वो क्या कि लास्ट इंडेक्स क्या होगा लास्ट इंडेक्स हमेशा होगा एरे लेंथ -1 या लेंथ क्या होगी एरे का लास्ट इंडेक्स + 1 तो अगर मेरा लास्ट इंडेक्स सेवन है तो उसका लेंथ क्या होने वाला है 7 + 1 8 तो अगर आपने एट का साइज डिक्लेयर किया है तो इंडेक्सेस कहां से कहां तक जाएंगे रो से सेवन तक जाएंगे जैसे हमने पांच का जब डिक्लेयर किया था तो पांच का डिक्लेयर करने में हमारे इंडेक्सेस कहां से कहां तक जाए गए इंडेक्स शुरू हुआ रो से खत्म हो गया फोर पर एक बात इसके बाद और करेंगे कि मेरे को अगर एरे इनिशियल इज करना है तो वो मैं कैसे करूंगा यानी मैंने एरे में वैल्यूज डालना तो सीख लिया कि अगर एक-एक करके वैल्यू इनपुट करानी है तो मैं कैसे करूंगा बट क्या कोई ऐसा तरीका है कि मैं जहां जब डिक्लेयर कर रहा हूं मैं वहीं पर वैल्यू दे सकूं है ना यानी अगर मान लीजिए मुझे मार्क्स यूजर से इनपुट ना कराने होते इसको मैं फिलहाल के लिए कमेंट कर देता हूं मार्क्स मुझे पहले से ही पता है मुझे बस वो स्टोर करने हैं जैसे हम पहले से भी नॉर्मल वेरिएबल को इनिश इइ करते हैं तो एरे को इनिश इज कैसे करेंगे आप इस तरह से करेंगे देखिए सिंटेक्स क्या होने वाला है सिंटेक्स होने वाला है डिक्लेरेशन के टाइम पर ही इक्वल टू लगाकर आप पहले लगाएंगे करली ब्रैकेट्स क्या लगाएंगे करली ब्रैकेट्स और बीच में दे देंगे कॉमा सेपरेटेड वैल्यूज क्या दे देंगे कॉमा सेपरेटेड वैल्यूज तो मैं मार्क्स किस तरह से दे सकता हूं मैं मार्क्स दे सकता हूं 90 94 91 96 एंड मान लीजिए किसी के आए 100 तो अगर मेरे पांच मार्क्स हैं यहां पर तो मैं क्या दे दे सकता हूं पांच मार्क्स एज इट इज यहां पर दे सकता हूं और उसके बाद अगर मेरे पास पहले से वैल्यूज है मान लीजिए मुझे उनको डायरेक्टली कहीं इनपुट नहीं कराना है और उनको एक्सेस करने का बाद में तरीका सेम रहने वाला है तो अगर मैं इसको फिर से एक बार करूं कंपाइल और फिर से आपके लिए करूं रन तो देखिए क्या होगा मार्क्स आ गए हैं मेरे 90 94 91 96 और 100 तो अगर आपके पास वैल्यूज रेडी अवेलेबल हैं आपको इसको इनिश इज करना है यह हुआ सिर्फ इतना करेंगे तो हुआ डिक्लेरेशन इनिश इजेशन क्या हुआ वैल्यू को वैल्यू के साथ डिक्लेयर करना तो वेरिएबल को वैल्यू के साथ डिक्ले यर करना तो मैंने वेरिएबल की वैल्यूज भी यहां सारी की सारी दे दी है एक बार ध्यान दीजिएगा यहां पर और भी बहुत सारे आपके तरीके हो सकते हैं क्या-क्या ये तो हुआ मेन तरीका एक सिंपल तरीका जवाब कर सकते हैं जिसको हम बोलेंगे डायरेक्ट असाइनमेंट है ना एक देखिए यहां पर आपको साइज देना जरूरी नहीं है यानी आप क्या बोल सकते हैं आप ये बोल सकते हैं यार साइज को जो है ना आप इनफर कर लीजिएगा साइज अपने आप देख लीजिएगा मैंने यहां जितने नंबर दिए वही मेरा यहां पर साइज भी होने वाला है तो ये क्या करेगा यहां जाकर काउंट करेगा 1 2 3 4 5 और पांच साइज का ही एक एरे बना कर आपके मार्क्स में दे देगा यानी मार्क्स वेरिएबल जो है वो एक पांच साइज के एरे को पॉइंट करने लगेगा तो यहां पर साइज देना क्या हो जाता है ऑप्शनल हो जाता है अगले में देखिए क्या बोल रहा है ये आप उल्टा भी कर सकते हैं क्या आपने पांच साइज का रेड क्लियर किया बट वैल्यू एक ही दिया तो क्या होगा फाइनली ये क्या कर देगा अनस्पेसिफाइड एलिमेंट्स डिफॉल्ट टू ज जीरो यानी बाकी सब में अपने आप ही ज़ीरो असाइन कर देगा तो मैंने बोला पांच साइज का एरे बनाना और पहली वैल्यू होनी चाहिए एक तो ये क्या करेगा पहले पांच साइज का कैरे बनाएगा 0 1 2 3 4 ये इंडेक्सेस होंगे पहली वाली वैल्यू को देगा वन यानी रो पे जाएगा वन और बाकी सब पे क्या चला जाएगा बाकी सब पे चला जाएगा 0 तो अगर आपके पास लिमिटेड वैल्यूज हैं एक दो ही वैल्यूज हैं बाकी नहीं है तो भी आप एरे इनिश इजेशन वाला जो तरीका है वो यूज़ कर सकते हैं अगला क्या है इनिश इइ ऑल टू ज जीरो विद दिस ये ऑल टू ज़ीरो कैसे हो रहा है भाई आपने पहले में ज़ीरो दिया बाकी में तो वो ज़ीरो अपने आप ही देगा अगर आप मिसिंग है तो ज़ीरो देगा तो अगर आप ये यूज़ करेंगे तो भी क्या होगा सब में डिफॉल्ट वैल्यू जीरो चली जाएगी देखिए c में क्या होता है अगर आप किसी वेरिएबल की वैल्यू बाय डिफॉल्ट नहीं देते हैं तो अगर आप इनिशियलिज्म वैल्यू पड़ी होती है यानी कुछ भी वैल्यू पड़ी हो सकती है कुछ भी नंबर वहां पहले से पड़ा हो सकता है तो अगर आप ये चाहते हैं कि जस्ट टू बी सेफ यार ऐसा ना हो कि वहां कुछ भी वैल्यू पड़ी हो मैं चाहता हूं जब भी मेरा नंबर शुरू हो तो वो जीरो से शुरू हो तो आप क्या कर सकते हैं अपने आप मैनुअली जीरो भी असाइन कर सकते हैं और आखिरी ये क्या बोलता है थोड़ा सा कॉम्प्लिकेटेड है जनरली यूज नहीं होता है बट आपको पता होना चाहिए कि ये भी पॉसिबल है आप एरे फाइव करते हुए आप क्या चाहते हैं आप ये चाहते हैं कि सेकंड इंडेक्स यानी थर्ड पोजीशन जो है यहां पर बस पांच पड़ा हो बाकी सब जगह जीरो पड़ा हो तो भी आप दे सकते हैं उसका सिंटेक्स क्या है करली ब्रैकेट के अंदर आप उसके बाद फिर से इंडेक्स देंगे और उसकी यहां पर वैल्यू देंगे बट ये मोस्टली यूज़ नहीं किया जाता है दिस इज वेरी कन्फ्यूजिंग इससे बेटर ये है कि आप पहले एरे बना लें ज़ीरो वैल्यूज दे दें और उसके बाद लिख दें एरे 2 = 5 ठीक है बट आपको ये पता होना चाहिए कि कहीं आपको अगर मान लीजिए शोध आउटपुट तरह के प्रोग्राम में कहीं ये देखने के लिए मिल जाए तो आपको यह ना लगे कि भाई ये तो गल गलत सिंटेक्स है यह सिंटेक्स एरर है आपको ये पता होना चाहिए कि ये भी एक पॉसिबिलिटी एजिस्ट करती है है ना तो ये हुआ एरे इनिशियल लाइजेशन उसके बाद आते हैं सबसे इंपॉर्टेंट चीज पर जो है एरे ट्रैवर्सल यहां से आपके लैब वाले प्रोग्राम या इवन डीएसए का एकदम जो सबसे बेसिक प्रोग्राम है वो भी यहां पर इसको मान सकते हैं आप एरे ट्रैवर्सल ट्रैवर्सल का सबसे पहले मतलब क्या है थोड़ा नया वर्ड सुनने को मिल रहा है तो ट्रैवर्सल का सबसे पहले मतलब देखेंगे ट्रैवर्सल का मतलब है ऑर्डरली विजिट यानी गोइंग थ्रू द एलिमेंट्स फ्रॉम स्टार्ट टू एंड अगर आप कभी भी एलिमेंट्स को एक-एक करके विजिट कर रहे हैं पहले से लेकर आखिर तक आपने अगर सारे के सारे एलिमेंट्स विजिट कर लिए तो उसको क्या बोलते हैं ट्रैवर्सल बोलते हैं वो ट्रैवर्सल करते हुए आप ऑपरेशन कुछ भी परफॉर्म कर सकते हैं आप मॉडिफाई कर सकते हैं रीड कर सकते हैं ऑपरेशन क्या है इस बात से फर्क नहीं पड़ता और ट्रैवर्सल ज जनरली किया कैसे जाता है लूप्स की मदद से आप फॉर या वाइ लूप को एक्सेस कर सकते हैं यूज़ कर सकते हैं ट्राव सेल के लिए अब देखिए बड़ा मैजिकल ये चीज आ रही है अभी तक हमारे पास एडवांटेज क्या थी हमने मार्क्स डिक्लेयर तो किया था बट यह काम मुझे अभी भी एक-एक करके करना पड़ रहा था दूसरा काम आप क्या कर सकते हैं आप अब कर ये सकते हैं एक बार इसकी फिर से हम कॉपी बना लेते हैं है ना उसका नाम रख देते हैं एरे ट्रैवर्सल ताकि आपके नोट्स के लिए चीजें बनती जाएं है ना अब जो हम चेंजेज करेंगे वो अरे ट्रैवर्सल में करेंगे तो ट्रैवर्सल में अब ये क्या बोल रहा है आप लूप्स का इस्तेमाल करिए अब देखिए ये तो नंबर्स ही हैं तो ये नंबर्स आप वेरिएबल की मदद से भी इनपुट कर सकते हैं देखिए मैंने बोला था यहां वेरिएबल यूज नहीं करना सिर्फ डिक्लेयर करते हुए सिर्फ डिक्लेयर करते हुए आपको वेरिएबल यूज नहीं करना है एक्सेस करते हुए आप जितना मन चाहे उतना वेरिएबल यहां पर इस्तेमाल कर सकते हैं तो एक बार अगर हम ट्रैवर्सल करें ट्रैवर्सल मतलब सारा का सारा एक-एक एलिमेंट मेरे को विजिट करना है वही तो मैं यहां कर रहा हूं सारे के सारे मार्क्स मुझे प्रिंट करने हैं पर हम यह बात कर रहे थे कि अग 50 बच्चे होंगे तो यहां मुझे डिक्लेरेशन तो 50 वेरिएबल नहीं करने पड़ रहे थे पर प्रिंट तो 50 बार करना ही पड़ रहा था अब वो भी स्किप हो जाएगा कैसे देखिए अब मैं क्या करूंगा मैं पहले एक लूप चलाऊंगा मान लीजिए बोलता हूं फॉर इंटी जर i इव 0 इंडेक्स मुझे कहां से कहां तक ले जाना है हमेशा ये सोचेगा i = 0 से ले जाना है कहां तक पांच से कम तक यानी चार तक है ना मेरे इंडेक्स कहां चलेंगे साइज से एक कम तक तो आप यहां पर जब भी साइज लिखेंगे तो आप यहां क्या लगा सकते हैं लेस लेस दन इक्वल टू नहीं लगाना है वरना आप साइज क्रॉस कर चुके होंगे और लगाएंगे i + प् तो जो मैं चाह रहा था मेरा इंडेक्स रो से फर तक जाए ये मेरा i जो है रो से 4 तक ही यहां पर जाने वाला है तो अब मैं क्या कर सकता हूं इस लाइन को मैं यहां से उड़ाकर लिख सकता हूं इसके अंदर और मैं यहां रो की जगह अब लिख देता हूं i तो देखिए क्या होगा जब लूप पहली बार चलेगा तो क्या आएगा i के अंदर रो आएगा तो पहला वाला जो मार्क्स है वो एक्सेस हो जाएगा जब लूप अगली बार चलेगा तो i के अंदर वन आएगा फिर टू आएगा फिर थ्री आएगा फिर फोर आएगा और फाइव के लिए लूप ब्रेक हो जाएगा फाइ के लिए कभी नहीं आएगा तो एक-एक करके सारे मार्क्स आपके यहां पर एक्सेस हो चुके होंगे तो एक बार अब क्या करते हैं इन वालों को प्रिंट स्टेटमेंट्स को हम हटा देते हैं और इसको हम दोबारा से चलाकर देखते हैं इस बार हमको किसको कंपाइल करना है एरे ट्रैवर्सल को कंपाइल करना है तो मैं बोलता हूं एरे ट्रैवर्सल स - o एरे ट्रैवर्सल डॉट आउट कोई एरर नहीं है चलाकर देखते हैं एरे ट्रैवर्सल डॉट आउट देखिए क्या हुआ जो हम पहले चाह रहे थे वही हो गया सारे के सारे मार्क्स जो हमने यहां डिक्लेयर किए थे 90 94 91 96 100 सारे के सारे मार्क्स मुझे यहां पर मिल गए हैं दो गड़बड़ हैं गड़बड़ क्या है ये देखिए एक तो यहां अभी भी स्टूडेंट वन ही दिख रहा है हर जगह सबसे पहले तो इसी को फिक्स करते हैं तो अब यहां मैं चाहता हूं ये भी नंबर किसके हिसाब से चेंज हो i के हिसाब से ही चेंज हो तो मैं क्या करूंगा इसको इसको कर दूंगा परसेंटाइल d और पहला इनपुट क्या दे दूंगा पहला इनपुट दे दूंगा i कि भाई पहले वाला भी नंबर जो है वो आप यहां i में दिखाते रहि है बट फिर क्या होगा स्टूडेंट ज़ीरो स्टूडेंट वन आएगा अब देखिए आप और मैं प्रोग्रामर बन रहे हैं हमको तो पता है कि इंडेक्स जीरो से शुरू होते हैं साई से एक पहले खत्म होता है बट अगर आप क्लास में खड़े होकर बोले कि रोल नंबर जीरो जरा सामने आओ भाई रोल नंबर तो वन से ही शुरू होता है या स्टूडेंट नंबर जीरो सामने आइए तो क्या होगा नॉर्मल भाषा में थोड़ी सी दिक्कत हो जाएगी तो आप यहां क्या करिए आई की जगह जब भी यूजर फेसिंग चीज है तो वहां क्या दे दीजिए i + 1 दे दीजिए ब्रैकेट में सिर्फ रीडेबिलिटी के लिए लगा रहा हूं यहां ब्रैकेट की जरूरत नहीं है बट फिर भी अब क्या होगा जब जीरो इंडेक्स होगा तो ये बोलेगा स्टूडेंट नंबर वन वन होगा तो बोलेगा स्टूडेंट नंबर टू इसको एक बार चलाकर देख लेते हैं दोबारा से जीसीसी किया ट्रा वर्सल किया देखिए ये प्रॉब्लम मेरी फिक्स हो गई स्टूडेंट 1 90 स्टूडेंट 2 94 स्टूडेंट 3 91 स्टूडेंट 4 96 एंड स्टूडेंट 5 100 यानी मैंने ये पूरा का पूरा ट्रैवर्सल जो है एरे का कर लिया है और एरे को मैं क्या कर पाया हूं शो कर पाया हूं है ना देखिए सेम काम हम इनपुट के लिए भी कर सकते हैं हमने यहां मार्क्स पहले से दिए हुए हैं बट मैं क्या कर सकता हूं मैं एक लूप इसके लिए भी लगा सकता हूं तो बोलता हूं मान लीजिए फॉर एंड i = 0 i < 5 i प्लस प्लस है ना मैंने एक बार लूप यहां पर भी लगा लिया और उसमें मैं क्या करता हूं ये दोनों चीजें अब मैं यहां पर लिख देता हूं यानी मैं आपसे इनपुट जो करा रहा हूं वो भी मैं वो भी एक तरह से ट्रैवर्सल ही है ये क्या है ये बस मॉडिफिकेशन है आप क्या कर रहे हैं वैल्यू को इनपुट करा रहे हैं तो चाहे इनपुट हो चाहे आउटपुट हो है सब कुछ ट्रैवर्स ली अ ये सारे के सारे मैं डिलीट कर सकता हूं देखिए कितना बड़ा हमने पहले बनाया था और अब ये कितना छोटा प्रोग्राम मेरा हो गया है अब हम क्या बोलेंगे प्लीज एंटर द मार्क्स फॉर स्टूडेंट वन वन की जगह क्या लिख देंगे यहां यहां लिख देंगे परसेंटाइल और वैल्यू पास कर देंगे i प् 1 तो उस स्टूडेंट के लिए आप मार्क्स दे दीजिए और इनपुट करते हुए भी क्या करेंगे मार्क्स जीरो की जगह यहां कर देंगे मार्क्स आई है ना तो क्या होगा एक-एक करके पांच के पांच मार्क्स पहले हम इनपुट कराएंगे और फिर हम आउटपुट कराएंगे अब हमको इस इनिश इजेशन की यहां पर जरूरत नहीं है और मैं बोल सकता हूं मेरा जो साइज है वो क्या है फाइव है है ना अब एक बार इसको फिर से चलाकर देखते हैं मैं फिर से इसको कंपाइल करता हूं जीसीसी इसको चलाकर देखते हैं तो हम क्या बोलेंगे प्लीज एंटर द मार्क्स फॉर स्टूडेंट वन मान मार्क्स है 56 76 98 23 59 देखिए सारे के सारे मार्क्स इनपुट भी हो गए और आउटपुट भी हो गए पर अब बहुत बड़ा एक एडवांटेज क्या रहा अब मुझे सिर्फ ये नंबर चेंज करना है पांच से अगर मान लीजिए मुझे मार्क्स करने हैं 10 तो मैं बोलता हूं कोई बात नहीं यहां 10 ले लेते हैं यहां भी 10 कर देंगे यहां भी 10 कर देंगे और यहां भी 10 कर देंगे अब एक बार मैं अगर इस प्रोग्राम को फिर से चलाकर आपको दिखाऊं तो बोलूंगा जीसीसी रन अभ ये बोल रहा है स्टूडेंट वन के मार्क्स एंटर करिए मान लीजिए 45 2 के 67 87 34 56 अब देखिए बोल रहा है स्टूडेंट 6 क्योंकि अब मेरा इंडेक्स चेंज हो गया है तो पांच से ये 10 स्टूडेंट के मार्क्स ले रहा है बोलते हैं 98 56 89 78 एंड 34 देखिए इतने सारे अब मैंने 10 के 10 स्टूडेंट्स के मार्क्स दिए और उसने 10 के 10 स्टूडेंट्स के मार्क्स मुझे उठाकर वापस कर दिए तो यहां हमको समझ क्या आ रहा है समझ ही आ रहा है पहली बात तो मैं जितना भी यहां साइज दूंगा उसका एक एरे डिक्लेयर हो जाएगा अब देखिए कितनी सारी चीजें हमने कर ली एरे डि क्लेयर करना हमने सीख लिया है उसके बाद एक-एक इंडिविजुअल एलिमेंट को एक्सेस कैसे करना है डायरेक्ट इंडेक्स लगाकर यह हमने सीखा इंडेक्स रो से लेकर साइज -1 तक जाता है ये हमने सीखा और अभी ट्रैवर्सल करके हमको कैसे चीजों को इनपुट कराना है यानी कैसे मार्क्स को एक्सेस करना है चाहे वो राइट करने के लिए हो स्कैन में जब हम चीजें वेरिएबल के अंदर डाल रहे हैं और चाहे वो रीड करने के लिए हो जब हम वेरिएबल की वैल्यू को जो है रीड कर रहे हैं माफ कीजिएगा जब हम वेरिएबल की वैल्यू को जो है रीड कर रहे हैं दोनों ही चीजें हमने देख ली किस तरह से हम कर सकते हैं और अब हमारे प्रोग्राम का जो साइज है वो मेरे बच्चों के साइज के यानी कितने बच्चे हैं इस बात पर डिपेंड नहीं कर रहा सिर्फ एक ये नंबर चेंज होगा और क्या होगा टोटल मेरा यहां से चलने लगेगा इसको भी हम थोड़ा सिंपल करने के लिए क्या कर सकते हैं इंट नंबर ऑफ स्टूडेंट्स कर लीजिए इसको और इसको कर देते हैं 10 है ना और यहां पर क्या देंगे यहां पर दे देंगे नंबर ऑफ स्टूडेंट्स जो वेरिएबल है मेरा और यहां पर भी दे देंगे नंबर ऑफ स्टूडेंट्स तो अब बस मुझे यहां पर चेंज करना है और यहां पर चेंज करना है और दोनों जगह एक बार ये नंबर मैंने चेंज कर दिया तो बाकी सारा प्रोग्राम मेरा इसी के हिसाब से अकोमोडेटिव की प्रोग्रामिंग हम यहां पर करने लगे हैं रे ट्रैवर्सल है तो ये बहुत सिंपल नहीं है ठीक-ठाक लैब्स में ठीक-ठाक चीजों में पूछा जा सकता है और आपके अगर आप प्रोजेक्ट वगैरह कर रहे हैं तो उसमें भी काफी ज्यादा इंपॉर्टेंट ये हो जाता है तो एरे र्सल ये आपके नोट्स के लिए भी हमने यहां पर डायरेक्ट प्रोग्राम भी लगाया हुआ है आप गिट हप पर जाएंगे तो भी आपको एनीवे सारा कोड जो हम लिख रहे हैं सारा का सारा गिट हप पर मिलने वाला है लिंक आपको मिलेगा वीडियो के डिस्क्रिप्शन में तो एट ट्रैवर्सल हमने देख लिया तो बहुत अच्छी बात हो गई एक चीज जो आप को यहां पर ध्यान रखनी है वो ये है यानी बाउंड्स चेकिंग कई बार ऐसा होगा कि एरे का साइज आपको नहीं पता है या आपको नहीं आप भूल गए कि एरे का साइज क्या था और आपने आगे बढ़ा दिया जैसे पहले इस एग्जांपल को देखिएगा मैंने क्या किया एक मेन फंक्शन बनाया उसके अंदर डिक्लेयर किया एक नम एरे किस साइज का 40 साइज का उसके बाद देखिए हमने फॉर लूप चलाया एंड i = 0 i < यहां हमने लिख दिया गलती से 140 की जगह क्या लिख दिया है 100 लिख दिया और कर दिया i + प् और मैं क्या बोल रहा हूं मैं बोल रहा हूं बस i को ही जो ही इंडेक्स है रो रो प्लेस पे ज़ीरो डाल दीजिए वन प्लेस पे वन टू प्लेस पे टू थ्री प्लेस पे थ्री ऐसे आप डालते जाइए और रिटर्न ज़ीरो कर दिया पर जब हम इस प्रोग्राम को रन कर रहे हैं तो देखिए क्या हुआ यहां पर एक एक्सेप्शन आ गई अबो ट्रैप सि कोय सी की इंटरनल एक्सेप्शन है बट ये बेसिकली हो क्या रहा है जब तक हमारे इंडेक्सेस 0 टू 39 गए देखिए 40 हमारा साइज है तो हमारे इंडेक्सेस कहां तक जाएंगे 0 से 39 तक जाएंगे जैसे ही आप 40th लोकेशन को एक्सेस करने की कोशिश करेंगे यानी आपने जितनी मेमोरी ली थी आप उससे भी बाहर की चीजों को एक्सेस करने की कोशिश कर रहे हैं तो तो क्या होगा यहां पर गड़बड़ होनी शुरू हो जाएगी प्रोग्राम आपका क्रैश हो जाएगा बहुत पुराने जब पहले सही पढ़ा करते थे जब मैं स्कूल में कॉलेज में स ही पढ़ता था तब क्या होता था वैसे इतना भी पुरानी बात नहीं है बट हां 5 सा 10 साल पहले की बात है तो उस समय क्या होता था कि आप आगे वाली वैल्यूज भी एक्सेस करने लगते थे बस वो क्या होता था सिक्योरिटी ब्रीच होता था आपकी पूरी की पूरी एक रैम है उसमें अलग-अलग लोगों ने अलग-अलग जगह चीजें रखी हुई हैं आपने जो वेरिएबल डिक्लेयर भी नहीं किया यानी मान लीजिए मेरी पूरी रैम इतनी बड़ी है आपने बोला बस मेरे वेरिएबल यहां से यहां तक पड़े हुए हैं 0 से 39 तक आपको जगह मिल गई आप 39 के बाद 40th लोकेशन भी एक्सेस कर रहे हैं 41 भी कर रहे हैं 42 भी कर रहे हैं 43 भी कर रहे हैं यहां हो सकता है किसी और के वेरिएबल पड़े हुए हो तो आपको क्या होता था दूसरे वेरिएबल की वैल्यू भी मिलने स्टार्ट लगती थी पर आपको यहां अभी भी क्या ध्यान देना है सी डंट ऑटो चेक यहां पर नो ऑटोमेटिक बाउंड वेरिफिकेशन ऑन अरेज यानी ये सी अपने आप चेक नहीं करेगा कि ये आपका लूप्स बेसिकली 39 से ज्यादा नहीं जाना चाहिए जब आप नंबर एक्सेस करने की कोशिश कर रहे हैं नम और आप यहां लिख दें डायरेक्ट मान लीजिए 44 तो भी ये क्या करेगा गड़बड़ हो गई एरर हो गई गलती हो गई आपसे तो किसकी ड्यूटी है यह प्रोग्रामर की अपनी ड्यूटी है एश्योरिंग इंसीस आर विदन एरे लिमिट्स एरे की लिमिट क्या है जो भी आपका साइज है -1 रो से लेकर साइज -1 तक तो जो आपकी एरे की लिमिट है ये आपको खुद इंश्योर करना है कि कहीं पर भी ये बेसिकली गलती जो है वो ना हो रिस्क क्या है आउटो बाउंड एक्सेस कैन लीड टू क्रैशेज और सिक्योरिटी रिस्क या तो क्रैश ही हो जाएगा पुराना सिस्टम है तो भी सिक्योरिटी रिस्क तो आपने पैदा कर ही दिया है और करना क्या चाहिए ऑलवेज चेक इंडिसेज अगेंस्ट एरे साइज यानी चेक कर करने से पहले देखिए जैसे अभी हमने इस प्रोग्राम में किया क्या किया हमने ये चेक किया कि यार हमारा लूप हमेशा नंबर ऑफ स्टूडेंट से कम तक ही चलना चाहिए तो हमेशा जब भी आप एरे का इंडेक्स कोई भी यहां पर एक्सेस कर रहे हैं तो आपको हमेशा ये मेक श्योर करना चाहिए कि वो जो वेरिएबल है वो आपके साइज से हमेशा कम है या आपकी जो भी एरे इंडेक्स की लिमिट है उसी के अंदर वो एजिस्ट करता है ठीक है तो ये बात याद रखिएगा बाउंड्स चेकिंग बहुत सारी ऐसी अदर लैंग्वेजेस हैं जिनमें बाय डिफॉल्ट बाउंड चेकिंग एक्जिस्ट करती है यानी यह काम आपको हाथ से नहीं करना पड़ता बट सी में ये काम आपको अपने आप से करना पड़ेगा ये एज अ प्रोग्रामर आपकी जिम्मेदारी है कि आपका इंडेक्स आपकी इंडेक्स की जो लिमिट है उससे बाहर नहीं जा रहा है ठीक है आ जाते हैं अगली चीज पर और अगली चीज क्या है एरे एज फंक्शन आर्गुमेंट देखिए बड़ी इंपॉर्टेंट चीज है ये क्या अभी तक हमने एरे को यूज तो कर लिया बट क्या होगा अगर एरे को मैं एज फंक्शन का आर्गुमेंट बनाऊं यानी कोई ऐसा फंक्शन हो जो एरे को एक्सेप्ट भी करे तो वो काम हम कैसे करेंगे तो कैसे करेंगे सबसे पहले चलते हैं अपने दोबारा अ कोडिंग एनवायरमेंट की तरफ और यहां क्या करते हैं मान लीजिए इसी में मैं फिलहाल क्या करने की कोशिश करता हूं ये जो मेरा नंबर ऑफ स्टूडेंट्स को प्रिंट करने का काम है इसके लिए मैं एक मेथड डिक्लेयर करने की कोशिश करता हूं जो मेथड क्या करेगा मेरे नंबर ऑफ स्टूडेंट्स के मार्क्स को शो कर सके तो मान लीजिए मैं ऊपर क्या लिखूंगा ये मेथड क्या करेगा देखिए रिटर्न तो कुछ नहीं करेगा वॉइड पर ये क्या करेगा मैं बोल देता हूं मान लीजिए प्रिंट मार्क्स इसने क्या बोला प्रिंट मार्क्स और ये लेगा क्या ये लेगा एक इंटी जर एरे तो यहां बोल देते हैं इंटी जर एरे मार्क्स अब ये तो इसने ले लिया या अब देखिए क्या बोल रहा है तो यहां क्या दे रहा है अरे एरर दे रहा है मैंने क्या लगा दिया यह ब्रैकेट जो है यह पहले लगा दिया अगेन ये थोड़ी जावा की यादें मेरी वापस आ गई तो आपको क्या देना है इंट मार्क्स एरे है ना तो मैंने क्या बोला एक प्रिंट मार्क्स होगा जो मार्क्स को प्रिंट करेगा बट देखिए अभी हमने क्या देखा कि बाउंड्स चेकिंग किसको करनी पड़ती है बाउंस चेकिंग आपको खुद करनी पड़ती है तो ये जो प्रिंट मार्क्स है सोचिए ये किस तरह से डिसाइड करेगा कि मार्क्स यहां पर कितने आए होंगे ये प्रिंट मार्क्स की रिस्पांसिबिलिटी नहीं है आप चाहे तो हर जगह इस चीज को हार्ड कोड कर सकते हैं हार्ड कोड मतलब मैं हर जगह ये मान लू कि 10 ही स्टूडेंट होंगे पर जिस दिन मुझे 10 से 15 करना पड़ेगा मुझे पूरे कोड में हर जगह जाके ये चीजें चेंज करनी पड़ेंगी तो जनरली इस टाइप के अंश आप एक जगह कोड कर देते हैं एक जगह यहां पर लिख देते हैं बट बाकी हर जगह आप क्या डिपेंड करना चाहिए आपको इस नंबर ऑफ स्टूडेंट्स पर डिपेंड करना चाहिए तो मैं क्या करूंगा यहां पर इंट नंबर ऑफ स्टूडेंट्स भी ले लूंगा कि भाई इस मेथड को फर्क नहीं पड़ता कि स्टूडेंट्स कितने हैं आप इस मेथड की रिस्पांसिबिलिटी सोचिए इस मेथड की रिस्पांसिबिलिटी ये है इसको जितने भी मार्क्स मिले उन सबको बस शो करना है विद नंबर ऑफ स्टूडेंट्स के हेल्प से इसको नहीं फरक पड़ता है नंबर ऑफ स्टूडेंट्स पांच है या 500 है है ना तो आप जितने फ्री मेथड्स लिखेंगे जितने मेथड्स ऐसे होंगे जो इस तरह की अंश ना ले पहले से कि मान लीजिए मैं तो मान कर चल रहा हूं कि भाई मैं तो पांच ही मार्क्स दिखाता हूं उससे ज्यादा नहीं दिखाता तो क्या होगा आपके मेथड का जो यूज है वो काफी ज्यादा लिमिटेड हो जाएगा आपको ऐसी चीजें बनानी चाहिए जो काफी जेनरिक है तो अब इस मेथड की हम नीचे डेफिनेशन देते हैं कैसे देंगे वॉइड प्रिंट मार्क्स इसको हम एज इट इज कर लेते हैं कॉपी ये हमने कर लिया कॉपी और ये आए गई मेरी डेफिनेशन डेफिनेशन में क्या करना है देखि डेफिनेशन में कुछ करना नहीं है इसी को हमको एज इट इज यहां लिखना है तो देखिए क्या हुआ अब यह मेरा एक मेथड है जो मार्क्स भी ले रहा है नंबर ऑफ स्टूडेंट्स भी ले रहा है और उसके बाद फॉर लूप लगाकर इनको प्रिंट कर देता है अब एक बात याद रखिएगा यह नाम सिर्फ हमने यहां कॉमन किए यहां मैं मार्क्स की जगह मान लीजिए क्या कर सकता हूं यहां नाम हो सकता है स्टूडेंट मार्क्स है ना तो इस मेथड के अंदर यह नाम होगा स्टूडेंट मार्क्स य स्टूडेंट और य नंबर ऑफ स्टूडेंट अलग-अलग है यह नंबर ऑफ स्टूडेंट का स्कोप सिर्फ इन दो ब्रैकेट के अंदर है इस नंबर ऑफ स्टूडेंट को बाहर यूज नहीं किया जा सकता या मान लीजिए मैं क्या कर देता हूं स्टूडेंट इसका नाम रख देता हूं स्टूडेंट काउंट है ना क्या हो गया स्टूडेंट काउंट अच्छा यहां मैंने कुछ गड़बड़ कर दी है यह कुछ शायद कॉपी करने में मिस्टेक हो गई हमको यहां क्या यूज करना था हमको करना है स्टूडेंट मार्क्स आई ठीक बात है अब देखिए अब जो जो डेफिनेशन है किस तरह से लिखी गई है जनरली ज्यादा लंबा हो रहा है तो आप उसको नेक्स्ट लाइन में लिख सकते हैं तो मेरा जो प्रिंट मार्क्स है क्या कर रहा है स्टूडेंट मार्क्स नाम का एक एरे लेता है और स्टूडेंट काउंट से यह पता कर लेता है कि स्टूडेंट कितने हैं स्टूडेंट काउंट के बेसिस पर चलाता है और स्टूडेंट मार्क्स पर पर चलाता है आपको यहां क्या ध्यान देना है देखिए अभी हमने मेथड को कॉल नहीं किया है कॉल कैसे करेंगे यहां से करेंगे मैं बोल दूंगा प्रिंट मार्क्स और यहां क्या पास करेंगे हम मार्क्स पास करेंगे और नंबर ऑफ स्टूडेंट्स पास करेंगे अब देखिए दो चीजें आपको यहां पर देखनी है पहली बात तो अभी तक जो हम देखते आ रहे थे ये वही हो रहा है ये नंबर ऑफ स्टूडेंट्स हैय कहां कॉपी हो जाएगा इसकी वैल्यू स्टूडेंट काउंट में कॉपी हो जाएगी और मार्क्स की वैल्यू कहां कॉपी हो जाएगी स्टूडेंट मार्क्स के अंदर कॉपी हो जाएगी और बेसिकली ये प्रिंट मेरा ठीक से चलने लगेगा तो पहले क्या करते हैं इसको दोबारा चलाकर देखते हैं एक्चुअली हमको एडिट रिवर्सल के अंदर नहीं करना चाहिए था एक काम करते हैं इसकी पहले कॉपी बनाते हैं कॉपी पेस्ट रिनेम एरे एज आर्गुमेंट और एरे ट्रैवर्सल को हम कर देते हैं वापस रे ट्रैवर्सल जैसे हमने पहले लिखा हुआ था इसको कंट्रोल जी करके वापस कर देते हैं ताकि जब आप में नोट्स देख रहे हो तो आपको एरे ट्रैवर्सल ठीक से समझ आ जाए है ना एरे ट्रैवर्सल में हमारा पुराने वाला ही कोड रहे और आगे जो हम चेंजेज कर रहे हैं ये हमने डाल दिए एरे एज आर्गुमेंट के अंदर खैर एनीवे तो हमने यहां पर ये कॉ कॉल कर लिया अब इसको एक बार प्रिंट करके देख लेते हैं एक काम इससे पहले क्या करते हैं स्टूडेंट 10 बहुत ज्यादा हो रहे हैं इसको हम कर लेते हैं पांच ठीक है अब करते हैं जीसीसी एरे एज आर्गुमेंट ड स - o एरे एज आर्गुमेंट डॉट आउट इसको चलाकर देखते हैं कोई एरर नहीं आई है एरे एज आर्गुमेंट अब ये बोल रहा है पहले स्टूडेंट के मार्क्स डालिए 76 56 89 78 67 देखिए मेरी फंक्शनैलिटी अभी भी एज इट इज चल रही है जबकि इस बार मैंने क्या कर लिया है एक मेथड बना लिया है प्रिंट मार्क्स जो एक्चुअली मेरा यह काम करता है कि मार्क्स को प्रिंट करता है या मेरे स्टूडेंट के जो मार्क्स हैं उनको प्रिंट करता है तो आपने देख लिया किस तरह से हमने एरे को यहां पर पास किया कैसे डिक्लेयर करना है और हमेशा साइज उसके साथ चलना चाहिए तो वापस अगर हम अपने नोट्स में आकर देखें तो आपको क्या क्या यहां पर देखना है कि सबसे पहला पॉइंट जो अभी हमने डिस्कस नहीं किया जो आपको यहां समझ आएगा क्या एरे आ अरेज आर पास्ड एज पॉइंट्स एरे बिकम पॉइंट्स व्हेन पास टू फंक्शन यानी ये क्या होता है ये पॉइंटर बन जाता है जब आपने यहां पर यहां पर देखिए दूसरा एग्जांपल हमने लिया हुआ है एग्जांपल क्या लिया हुआ है यहां हमने एक मेथड बनाया है सम एरे जो क्या करता है आप उसको एक इंटी जर एरे पास करिए और उसका साइज पास करिए और उसका सम वो आपको रिटर्न कर देगा यहां इंटी जर में तो अगर यहां आकर इसकी डेफिनेशन देखें देखिए एक बार ध्यान से पूरे एरे का अगर सम करना है तो कैसे करेंगे एरे का यहां पर नाम लिखा हुआ है साइज़ लिखा हुआ है पहले हम एक सम वेरिएबल ले लेते हैं व्हिच इज ज़ीरो पूरे एरे का सम करना है तो मैं बोलूंगा इंटी जर i = 0 i < जो मुझे साइज मिला है i + + और इसने क्या कर दिया इस वेरिएबल में सबका सम ये करता जा रहा है तो सम + इक्व ू एरे आ ए आर आ यानी एक-एक करके सारे एलिमेंट आएंगे और वो कहां जाते जाएंगे सम के अंदर जाते जाएंगे रिटर्न करके सम कर देता है तो अब देखिए यहां हमने इसको कॉल कैसे किया कॉल ऐसे किया यहां कॉल किया सम एरे माय एरे कॉमा साइज यह बेसिकली दोनों चीज़ें यहां पर पास कर दी और सम कहां रिटर्न हो गया टोटल में रिटर्न हो गया जो यहां पर चला गया है बट यहां आपको क्या ध्यान रखना है अभी तक आप बाय डिफॉल्ट जो भी अगर आपके पास बेसिक डटा टाइप्स थे उनको जब हम पास करते थे तो बाय डिफॉल्ट क्या होते थे कॉल बाय वैल्यू हमने देखा था कॉल बाय वैल्यू कॉल बाय रेफरेंस कैसे चलता है कॉल बाय रेफरेंस के लिए हमको एड्रेस पास करना होता था यानी n परसन लगाकर हम पास करते थे और बाय डिफॉल्ट अदर वाइज चीजें क्या होती थी कॉल बाय वैल्यू होती थी तो यहां जो साइज है वो तो कॉल बाय वैल्यू ही हुआ है बट जो एरे जब भी पास होता है तो वो बाय डिफॉल्ट कॉल बाय रेफरेंस होता है यानी यहां पर ये पूरे एरे की कॉपी नहीं बना रहा है पास करते हुए ये माय एरे जो है सिर्फ इसका एड्रेस ए आरआर के पास पास कर रहा है और अगर आप यहां पर कोई भी चेंजेज करेंगे तो वो क्या होंगे इस एरे के अंदर रिफ्लेक्ट होंगे यानी दिस इज कॉल्ड बाय रेफरेंस चेंजेज इन फंक्शन अफेक्ट द ओरिजिनल एरे बाय डिफॉल्ट क्या है कॉल बाय रेफरेंस है भा ये कॉल क्यों ली गई है क्योंकि देखिए बड़े डाटा स्ट्रक्चर्स की अगर आप बार-बार कॉपी बनाते रहेंगे पूरे के पूरे एरे की कॉपी बनाएंगे बहुत टाइम वेस्ट होगा अगर यहां डिफॉल्ट बिहेवियर क्या है डिफॉल्ट बिहेवियर कॉल्ड बाय रेफरेंस अगर आप चाहे तो पहले कॉपी बनाइए उसके बाद पास करिए अगर आप कॉपी बनाकर पास करना चाहते हैं तो दूसरा क्या इंपॉर्टेंट हमको ध्यान रखना है एरे को एज फंक्शन पास करते हुए ऑलवेज इंक्लूड द साइज तो पास एरे साइज वरना क्या होगा वो जो मेथड है उसको कभी पता नहीं चलेगा कि मुझे इसका जो साइज है वो किस तरह से कैलकुलेट करना है स्पेसिफिक टाइप यानी एक ही टाइप का जो है जो एरे है वो होना चाहिए तो यहां अगर मेरे को इंटी जर एरे चाहिए तो मैं इंटी जर एरे डिफाइन करूंगा और ये एफिशिएंट क्यों है क्योंकि इसमें पूरे एरे को कॉपी नहीं करना पड़ता एरे का सिर्फ पॉइंटर ही जो है वो वहां पर पास हो रहा है एक इंपॉर्टेंट चीज जो यहां पर आपको इस कोड में देखने के लिए मिलेगी वो है ये साइज ऑफ का फंक्शन य जो यहां पर आप किस तरह से इसको यूज करेंगे देखिए है तो एक तरह का कीवर्ड ही क्योंकि ये डायरेक्ट फंक्शन नहीं होता बट ये फंक्शन की तरह ही यूज होता है तो आप क्या बोलेंगे इसको साइज ऑफ ब्रैकेट के अंदर आप अगर इसको कुछ भी देंगे तो उसका साइज कैलकुलेट कर लेता है तो देखिए हमने एरे का साइज कैलकुलेट करने का भी यहां एक हैक ढूंढ लिया यानी अगर आप साइज पास करना नहीं चाहते तो आप क्या कर सकते हैं आप पहले देखिए इसने क्या बोला इसने बोला साइज ऑफ माय एरे यानी पूरा का पूरा जो एरे है उसका क्या साइज है नंबर ऑफ बाइट्स में यहां पर आ जाएगा तो मान लीजिए पांच इसका साइज है 5 * अगर दो बाइट का है या चार बाइट का है दो का मान लेते हैं तो माय एरे का साइज क्या होगा 10 बाइट्स उसके बाद इसने क्या किया इसको डिवाइड किया साइज ऑफ इंडिविजुअल एलिमेंट से इसने बोला अच्छा आपके एक एलिमेंट का साइज कितना है जरा वो भी बता दीजिए क्योंकि ये हम अजमन नहीं ले सकते सी में क्या होता है डिपेंड करता है आपके सिस्टम पर कि मान लीजिए इंटी जर है वो दो बाइट का भी हो सकता है चार बाइट का भी हो सकता है तो उसने बोला पहले अपना टोटल साइज बताओ और उसके बाद आपका एक एलिमेंट का क्या साइज है उससे डिवाइड कर दो तो ये आ जाएगा पांच मुझे पता चल जाएगा आपके कितने एलिमेंट्स हैं तो अगर आप साइज पास करना नहीं चाहते देखिए इसने यहां पर डिक्लेयर नहीं किया ना साइज यहां पर और यहां भी स्टैटिक डिक्लेयर नहीं किया जब भी आप यहां वैल्यूज चेंज करते जाएंगे साइज की वैल्यू अपने आप चेंज होती जाएगी तो अगर 1 पर आप साइज पास करना नहीं चाहते हैं तो आप ये फार्मूला मान लीजिए कि एकय हैक मान लीजिए आप यूज़ कर सकते हैं साइज ऑफ और साइज ऑफ से आप किसी भी चीज का साइज जो है वो पता कर सकते हैं इन बाइट्स याद रखिएगा दिस साइज इज नॉट द नंबर ऑफ एलिमेंट्स दिस साइज इज द टोटल नंबर ऑफ बाइट्स जो वो पूरा वेरिएबल जो है वो इस्तेमाल कर रहा है तो आप साइज ऑफ लिखेंगे पूरे वेरिएबल का साइज यहां पर आ जाएगा एंड स्लैश लगाकर आप लिखेंगे साइज ऑफ माय अरे तो यहां पर आपको एक इंडिविजुअल एलिमेंट का जो साइज है वो यहां पर आपको पता चल जाएगा ठीक है तो ये हुआ कि हमको पास कैसे करना है एरे एज फंक्शन आर्गू मेंट उसके बाद अगर हम देखेंगे अगला क्या है अगला आ जाता है पॉइंटर एरिथ मेे िक यानी अब अगर हमको ये तो समझ आ ही गया है कि जब आपने माय एरे को यहां माय एरे ए आरआर में पास किया दिस वाज अ पॉइंटर यानी ये क्या है मैंने स्टार डिक्लेरेशन भी नहीं किया तभी भी ये डिक्लेयर किस तरह से हो रहा है एज अ पॉइंटर यहां पर डिक्लेयर हो रहा है तो पॉइंटर और एरे का एक बहुत बेसिकली आप ये मान लीजिए बहुत क्लोज रिश्ता है और वो रिश्ता भी हम समझने की कोशिश करते हैं देखिए जब भी आप कोई एरे डिक्लेयर करते हैं तो एरे डिक्लेरेशन में होता यही है कि वो एक उतना बड़ा साइज पहले एक डिक्लेयर करता है उसके बाद पहले वाले का एड्रेस जो है वो आपके वेरिएबल के नाम के अंदर डाल देता है तो अगर मैं यहां पर अभी तक लिख रहा था इंट मार्क्स 10 तो उसका यह मतलब है कि उसने वेरिएबल तो मेरा एक ही डिक्लेयर किया यानी मार्क्स इज ऑलरेडी अ पॉइंटर और उसने क्या किया उसने साइज बनाया 10 बेसिकली माफ कीजिएगा उसने 10 अ साइज का एक एरे बनाया उनके सबके कोई मेमोरी एड्रेसस होंगे और पहले वाले का जो एड्रेस है उसको उठाकर कहां डाल दिया मेरे मार्क्स के अंदर डाल दिया मार्क्स क्या है मार्क्स एक पॉइंटर है तो पॉइंटर क्या करता है पॉइंटर किसी और चीज का एड्रेस स्टोर करता है तो इस पॉइंटर ने किसका एड्रेस स्टोर किया मेरे पहले वाले एलिमेंट का एड्रेस स्टोर कर लिया अब यह पॉइंटर जो है यह बाकी चीजों को कैसे एक्सेस कर पा रहा है ये ब्रैकेट लगाकर ये हम यहां समझने की कोशिश कर रहे हैं तो ये क्या बोल रहा है सबसे पहली लाइन यहां सबसे इंपॉर्टेंट है अगर आप लिखते हैं ए आरआर आई उसका बस मतलब होता है ए आरआर प् आ का स्टार स्टार का मतलब क्या होता है वैल्यू एट एड्रेस यानी ये क्या करता है ए आरआर पर जाएगा सबसे पहले मान लीजिए आपने लिखा यहां पर एर आर 3 है ना आपने लिखा ए आरआर 3 तो एआर 3 के लिए क्या करेगा सबसे पहले जाएगा ए आरआर के पास ए आरआर क्या है मान इस समय 996 इसका एड्रेस है 996 पर चला गया उसमें तीन ऐड करना है तो तीन कैसे ऐड करेगा 97 पर जाएगा 98 पर जाएगा 99 पर जाएगा और उसके बाद क्या करेगा एस्क लगा देगा यानी वैल्यू एट 999 तो जब आप एआर 0 लिखते हैं तो ए आरआर पर जो वैल्यू पड़ी है वही आपको दे देता है जब आप एआर व लिखते हैं तो एआर में वन ऐड करता है और अगली जगह की वैल्यू देता है एआर टू लिखते हैं तो अगली जगह की वैल्यू देता है तो ये आपको समझ आएगा कि स्क्वायर ब्रैकेट जो है यह जो मेरा रेक्टेंगल ब्रैकेट है यह काम किस तरह से करता है यह काम किस इस तरह से करता है कि ये क्या करता है यहां पर पॉइंट बेसिकली जो फार्मूला है इसमें एआर प्लस करता रहेगा और उस वैल्यू एट दैट एड्रेस ये आपको निकाल कर देता रहेगा और कौन-कौन से ऑपरेशन करेगा बेसिक ऑपरेशन तो हमने समझ लिया हमने देख लिया पॉइंटर एरिथ मेे िक से कैसे ये ए आरआर जो है ये एक्चुअली पॉइंट करता है सिर्फ फर्स्ट एलिमेंट को और कैसे एक-एक करके बचे हुए सारे एलिमेंट्स को हम एक्सेस करते हैं बट एक चीज जो यहां आपको इस डायग्राम में क्लियर नहीं हो रही है इससे पहले जब हम एरे डिक्लेयर कर रहे थे तो उस उस बात की क्लेरिटी हमको थी क्या कि जो एड्रेस है चीजों का व जरूरी नहीं है क्या हो वह जरूरी नहीं है एक के बाद एक हो तो यानी अगर 30 20 है मान लीजिए आपने लिखा मार्क्स 0 मार्क्स व तो मार्क्स 0 इसने क्या बोला किस तरह से मार्क्स ़ को आप लिख सकते हैं आप लिखिए स्टार ब्रैकेट मार्क्स + 0 तो मार्क्स जो पॉइंटर है मार्क्स पॉइंटर किसको पॉइंट करता है सिर्फ पहली लोकेशन को व्हिच इज 3020 अब 3020 में मैं वन बेसिकली ज़ीरो ऐड करूंगा 3020 ही रहेगा एस टिस्क क्या करेगा वैल्यू एट एड्रेस देगा वैल्यू एट एड्रेस 3020 क्या है 90 तो इसलिए जब आप लिखते हैं मार्क्स रो तो आपको निकल के आ जाता है 90 अब देखते हैं मार्क्स वन के लिए क्या होगा अब मैंने लिखा मार्क्स वन तो यहां क्या होगा एस्क आएगा साथ में आएगा मार्क्स वन मार्क्स + 1 अब मार्क्स + 1 आईडियली क्या होना चाहिए 30 20 + 1 व्हिच इज 3021 बट देखिए यहीं पर मेन गेम होता है जिसको हम पॉइंटर एरिथ मेे िक बोल रहे हैं क्या क्योंकि 3021 तो कोई जगह है ही नहीं यह 90 जो है इसी ने दो स्पेस लिए हुए हैं इसी ने 3020 और 3021 पर 90 ही स्टोर देखिए यहां पर जो एड्रेस लिखा जाता है दैट इज स्टार्टिंग एड्रेस बट अगर इंटी जर का साइज दो है तो क्या करेगा जैसे आपने देखा होगा मोहल्ले में कई बार कुछ घर ऐसे होते हैं जो दो प्लॉट पर बने हुए हो तो उसका एड्रेस तो एक ही होता है भले ही वो दो प्लॉट पर बना हुआ हो तो यहां पर क्या होगा 302 अगर आप बोलना चाहे इसका एड्रेस है 3020 3021 दोनों ही इसके एड्रेस है क्योंकि ये दो साइज का है दो बाइट का है तो अब अगर मैं मार्क्स प् व करूंगा तो तो मैं वापस 90 पर ही आ जाऊंगा नहीं जब भी आप पॉइंटर में कुछ एडिशन या सब्सट्रैक्शन करते हैं यानी जब आप करेंगे मार्क्स + 1 तो पहले वो देखेगा कि मार्क्स एक्चुअली एक पॉइंटर है और किसके टाइप का पॉइंटर है इंटी जर टाइप का पॉइंटर है इंटी जर का साइज क्या है टू है तो मार्क्स + 1 निकल कर आएगा 3022 अगर एक लाइन में आपको पॉइंटर एरिथ मेे िक समझना हो तो वो बस यही है क्या पॉइंटर में जब आप कोई चीज ऐड या सबट क्ट करते हैं तो वो डायरेक्टली ऐड या सबट क्ट नहीं होती है वो क्या होती है मार्क्स में पहले वो देखता है कि मार्क्स जिस तरह का पॉइंटर है जिस टाइप का पॉइंटर है उसका साइज क्या है और वो साइज मल्टीप्लाई होके ऐड या सबकट हो होता है तो यहां 1 मल्टीप्लाई बाय हमेशा वो साइज होगा अगर मैं बोलूं मार्क्स + 3 क्या है तो मार्क्स + 3 * 2 बोलेगा वो क्यों क्योंकि इंटी जर का साइज है टू तो मार्क्स कहां पर चला जाएगा 1 2 3 चला जाएगा 26 के ऊपर व्हिच इज 3 * 2 6 तो ये चला जाएगा 30 20 + 30 + 6 व्हिच इज 3026 इसीलिए मार्क्स वन लिखने पर आप जा रहे हैं 3022 पर मार्क्स टू लिखने पर आप जा रहे हैं 30204 पर तो अगर हम यहां पर वापस आ जाएं एक बार जो हमारा पॉइंटर एरिथ मेे िक है उस पर तो यहां आपको क्या समझ आएगा अगर यहां पॉइंट्स देखना शुरू करें मेमोरी इंक्रीमेंट और डिक्रिमेंट यानी अगर आप पॉइंटर प्लस प्लस करते हैं या पॉइंटर माइनस माइनस करते हैं पॉइंटर प्लस प्लस का क्या मतलब है कुछ नहीं पॉइंटर + 1 या पॉइंटर -1 मूव्स द पॉइंटर टू द नेक्स्ट और प्रीवियस मेमोरी लोकेशन बेस्ड ऑन द टाइप साइज सबसे इंपॉर्टेंट बात ये है यानी अगर यहां मान लीजिए हम ये कैरेक्टर मान रहे हैं तो कैरेक्टर क्या है एक बाइट का है तो एक बाइट मूव करेगा प्लस प्लस में अगर इंटी जर दो बाइट का है तो दो बाइट मूव करेगा सिंगल प्लस प्लस में अगर लॉन्ग की हम बात कर रहे हैं जो चार बाइट का है तो एक बार में चार-चार स्टेप वो मूव करेगा एडिशन सब्सट्रैक्शन की बात करें एडिंग और सबट क्टिंग एन इंटी जर n फ्रॉम अ पॉइंटर फ्रॉम अ पॉइंटर मूव्स इट n एलिमेंट्स फॉरवर्ड और बैकवर्ड n एड्रेसस नहीं n एलिमेंट्स यानी ईच एलिमेंट का जो भी साइज है मल्टीप्लाई बाय दैट वही आगे बढ़ेगा जो अभी हमने देखा डिफरेंस क्या है सबट क्टिंग वन पॉइंटर फ्रॉम अनदर गिव्स द नंबर ऑफ एलिमेंट्स बिटवीन देम क्योंकि यहां क्या होगा सब्सट्रैक्शन भी ऐसे ही चलेगा अगर मैं बोलूंगा कि भाई 1000 वाला जो एड्रेस है उसमें से इसको माइनस कर दीजिए तो आपको यह पता चलेगा बीच का जो बीच में कितने नंबर ऑफ एलिमेंट्स है ना कि बीच में कितने टोटल एड्रेसस हैं है ना तो ये हर तरह के जो भी इसमें आप कैलकुलेशन करेंगे प्लस माइनस दोनों में ही आपको बस ये बात याद रखनी है कि डायरेक्ट नंबर को प्लस माइनस नहीं करना है वो नंबर ऑफ एलिमेंट्स हैं जो प्लस माइनस हो रहे हैं है ना तो इसलिए बोल रहा है अगर आप लास्ट लोकेशन में से पहली लोकेशन माइनस कर देंगे तो आपको टोटल नंबर ऑफ एलिमेंट्स मिल जाएंगे कि इनके बीच में टोटल नंबर ऑफ एलिमेंट्स कितने हैं ठीक है अब इसका रिजल्ट क्या है दोबारा से अब हम देखते हैं जो हमने सम एरे वाला ए एपल सॉल्व किया था उसमें अब आप क्या कर सकते हैं जहां डिक्लेरेशन किया था यहां इंटी जर एरे के बजाय पिछली बार हमने कैसे लिखा था हमने लिखा था इंटी जर ए आरआर ब्रैकेट्स एक बार मैं आपको खोल कर दिखा देता हूं इससे पहले ही तो था देखिए यहां पर क्या था इंटी जर ए आरआर ब्रैकेट तो यहां पर ये बताने की कोशिश कर रहा है कि इंटी जर ए आरआर ब्रैकेट या इंटी जर स्टार ए आरआर एक ही बात है क्योंकि जब आप पास कर रहे हैं एरे को तो बिना एन परसन लगाए भी माय एरे इज इन इट सेल्फ अ पॉइंटर आपको ये समझना है कि एरे डिक्लेरेशन जो है वो बाय डिफॉल्ट एक पॉइंटर डिक्लेरेशन ही है व कर ही ये रहा है कि पांच साइज का एक एडेट डिक्लेयर करता है और पहले वाले का एड्रेस उठाकर आपके पॉइंटर के अंदर डाल देता है इसलिए जब हम यहां इसको कॉल बाय रेफरेंस में भी पास कर रहे हैं तो भी हमको एन पर्सन लगाने की जरूरत नहीं पड़ रही है इन पर्सन लगाने की जरूरत क्यों नहीं पड़ रही है क्योंकि माय एरे अपने आप में ऑलरेडी एक पॉइंटर है जब आप पॉइंटर पास करेंगे तो व एड्रेस ही यहां पर कॉपी होने वाला है देखिए माय एरे की तो वैल्यू कॉपी ही होगी पर वह कॉपी क्या हो रहा है एड्रेस कॉपी हो रहा है और जब आप ए आरआर में ऐसे ब्रैकेट लगाकर उसको को यूज़ करेंगे तो एस्क लगाकर एक्चुअली यूज़ कर रहा है जो हम पहले देख रहे थे पॉइंट्स के टाइम पर और एस टिस्क लगा के जब आप यूज़ करेंगे तो आप चेंज ए आरआर में नहीं कर रहे ए आरआर में जो एड्रेस पड़ा है उस पे जो डाटा है उसमें चेंज कर रहे हैं तो वो रिफ्लेक्ट होगा कॉल बाय रेफरेंस के जरिए तो आपको समझना है पॉइंटर और एरे क्या है काफी सिनोनिम अस है एक ही चीज है ओनली चीज एक्स्ट्रा एरे ने क्या दे दिया है आपको एक ये ब्रैकेट सिंटेक्स दे दिया है कि आपको बार-बार ये एस्क आपका ए आरआर + 2 + 3 करके आपको इसको एक्सेस ना करना पड़े आप डायरेक्टली ए आरआर ब्रैकेट लगाकर एक्सेस कर ले बट इंटरनली दे आर एब्सलूट द सेम थिंग तो आप चाहे ब्रैकेट एक्चुअली आई शुड नॉट से एब्सलूट द सेम थिंग देयर आर सम माइनर डिफरेंसेस बट उस माइनर डिफरेंस के अलावा यहां पर और कोई डिफरेंस आपको नहीं नजर आता है ठीक है उसके बाद देखते हैं क्या अगला टॉपिक पर हम आ जाते हैं व्हिच इज टू डायमेंशन एरे देखिए एक टाइप का एरे तो हमको यहां पर समझ आ गया है अब ये टू डायमेंशन एरे क्या चीज है तो इसको क्या करते हैं सबसे पहले जाते हैं अपने एग्जांपल की तरफ एक एग्जांपल समझते हैं और उसके बाद ही वापस आ आएंगे यहां थ्योरी को देखने के लिए तो हम क्या करते हैं यहां एक नया अपना फाइल बनाते हैं क्या उसका नाम रखते हैं टूडी पूरा नहीं लिखते सिर्फ डी लिख देते हैं 2d एड स ठीक है बाकियों को कर देते हैं बंद और इसको कर देते हैं थोड़ा सा छोटा ठीक है अब मान लीजिए सिनेरियो क्या है सिनेरियो ये है अभी तक हम जो बच्चों के मार्क्स ले रहे थे वो सिर्फ एक सब्जेक्ट के ले रहे थे जबकि आपके यहां सब्जेक्ट कितने होते हैं या तो पांच होते हैं या छह होते हैं है ना तो अभी मान लीजिए मैंने बोला कि आप जो ट्यूशन पढ़ते हैं सर आप 11 12थ वाला ट्यूशन नहीं पढ़ा रहे हैं आप फिफ्थ सिक्स वाला ट्यूशन पढ़ा रहे हैं अगर आप पढ़ाएंगे तो सारे के सारे सब्जेक्ट पढ़ाएंगे तो मार्क्स भी आपको पांच के पांच सब्जेक्ट के ही लेने होंगे तो एक बार चलिए एक बार ये करके देखते हैं कि हमको पांच बच्चों के छह सब्जेक्ट के मार्क्स मान लीजिए लेने हैं तो मैं किस तरह से लूंगा तो सबसे पहले बोलेंगे हैश इंक्लूड एसटीडी एड ए है ना उसके बाद क्या करेंगे इंट मेन अब देखिए मेरे को क्या करना है मुझे पता है कितने स्टूडेंट हैं पांच स्टूडेंट है और सब्जेक्ट कितने हैं सब्जेक्ट हैं छह तो मैं एरे एक ही टाइप का बना सकता हूं या तो मैं मार्क्स का या तो मैं इस टाइप का देखिए एक एरे बना लूं इंट मार्क्स 6 है ना या मैं किस टाइप का एरे बना लूं इंट स्टूडेंट सिक्स अब देखिए छह स्टूडेंट अगर मैं स्टूडेंट सॉरी स्टूडेंट फाइव अगर मैं पांच स्टूडेंट का ऐसे एरे बना लूंगा तो यहां तो एक स्टूडेंट के एक ही सब्जेक्ट के मार्क्स आ पाएंगे यहां मैं बनाऊंगा तो बेसिकली छह एक बच्चे के सारे मार्क्स आ गए बट वो डिफरेंट नहीं बना एक्चुअली उल्टा हमको बनाना पड़ेगा मान लीजिए मैं पर स्टूडेंट बना रहा हूं तो मैं बोलूंगा स्टूडेंट वन के छह सब्जेक्ट के मार्क्स स्टूडेंट टू के छह सब्जेक्ट के मार्क्स स्टूडेंट थ्री के छह सब्जेक्ट के मार्क्स कितने स्टूडेंट हैं मेरे पास पांच स्टूडेंट हैं स्टूडेंट फोर के छह सब्जेक्ट के मार्क्स स्टूडेंट फाइव के छह सब्जेक्ट के मार्क्स एक तरीका तो यह है दूसरा क्या है दूसरा है ये है कि मैं पर सब्जेक्ट बना लूं मैं बोलूं सब्जेक्ट वन के पांच स्टूडेंट के मार्क्स सब्जेक्ट 2 3 4 5 एंड 6स है ना सब्जेक्ट 2 3 4 5 एंड सक्स दो तरीके हैं या तो मैं छह बेसिकली पर स्टूडेंट एरे बना लूं या मैं पर सब्जेक्ट एरे बना लूं देखिए वैसे दूसरे वाला थोड़ा सा एडवांटेजेस है क्यों क्योंकि सब्जेक्ट जनरली बहुत तेजी से ग्रो या डिक्रीज नहीं होंगे सब्जेक्ट मोर और लेस कांस्टेंट रहेंगे एक आद नंबर ऊपर नीचे हो सकता है सब्जेक्ट ऐड हो सकता है डिलीट हो सकता है बट स्टूडेंट बहुत तेजी से बढ़िया घट सकते हैं तो अगर मेरे स्टूडेंट 100 हो गए तो कल मैं फर्स्ट सब्जेक्ट के कितने बच्चों के मार्क्स रखूंगा 100 बच्चों के मार्क्स रख लूंगा यहां स्टूडेंट टू के कितने 100 बच्चों के मार्क्स रख लूंगा बट यहां मुझे 100 स्टूडेंट डिक्लेयर करने पढ़ेंगे बट देखिए हमको ना यह करने की जरूरत है ना यह करने की जरूरत है हम क्या करेंगे इसको कर देंगे कॉमेंट ताकि ये नीचे बना रहे हमको दिखता रहे कि ये भी एक तरीका है हम डायरेक्टली क्या कर सकते हैं हम लिख सकते हैं इंट मार्क्स दो तरह के आप ब्रैकेट लगाइए पहले आप बोलिए कितने आपके रोज हैं यानी आप इसको जो जो मार्क्स है इसको किस तरह से अरेंज कर सकते हैं एक शीट आप बनाकर अरेंज कर सकते हैं कैसे अगर मैं वापस आकर आपको दिखाऊं हम मार्क्स किस तरह से लिख रहे हैं देखिए यहां पर भी हमने फ्लोट मान लिया है पर हम बोल रहे हैं एक-एक स्टूडेंट के मार्क्स इस तरह से लिखेंगे अगर आप पेपर पे भी लिख रहे हैं तो और सब्जेक्ट वन के फिर सब्जेक्ट टू के फिर सब्जेक्ट थ्री के फिर सब्जेक्ट फोर के फिर सब्जेक्ट फाइव के तो आपको क्या करना है पहले अगर आपको टू डायमेंशन एरे यूज़ करनी है आप देखिए आप अपने डटा को किस तरह से एक टेबुलर फॉर्म में बना सकते हैं एक टेबल बना सकते हैं डाटा की उसके बाद देखिए रो क्या है और देखिए कॉलम क्या है जनरली आपको ऐसा बनाना चाहिए कि रो आसानी से ग्रो करने वाली हो कॉलम कम ग्रो होते हो कॉलम में चेंजेज बेसिकली बहुत फ्रीक्वेंसी कोई फर्क नहीं पड़ता बट इन जनरल इस तरह से अरेंजमेंट करना थोड़ा सा बेटर होता है उसके बाद आप क्या करिए जो नंबर ऑफ रोज हैं उसको लिखेंगे पहले और नंबर ऑफ कॉलम्स को लिखेंगे बाद में तो हमारे पास क्या है पांच हमारे पास रोज हैं क्योंकि पांच स्टूडेंट्स हैं और कॉलम कितने हैं छह सब्जेक्ट हैं तो मैंने कैसे डिक्लेयर कर दिया मैंने बोला इंट मार्क्स फाइव एंड सिक्स इससे क्या हुआ पांच स्टूडेंट्स के छह सब्जेक्ट के मार्क्स आप एक्सेस कर सकते हैं और वो कैसे करेंगे देखिए एक बार यहां पर सिंटेक्स देख लेते हैं स्ट्रक्चर क्या है थिंक ऑफ एन थिंक ऑफ दिस एज एन एरे ऑफ अरेज क्या है ये देखिए मार्क्स छह हैं और पांच मेरे पास स्टूडेंट हैं तो हर स्टूडेंट के लिए जो मैं यहां पर कर रहा था हर स्टूडेंट के लिए छह सब्जेक्ट के मार्क्स तो हमने क्या बनाया ये एरे तो हमारे पास पहले से ही था अब क्योंकि हमने सिंगल में बना लिया है तो इसका मतलब हमने एरे का भी एक एरे बना लिया है इन पांच को भी हमने पहले जब देखिए जब हम मार्क्स कर रहे थे तो छह मार्क्स को हमने एक जगह कंसंट्रेट किया था या पांच स्टूडेंट के मार्क्स को हमने एक जगह कंसंट्रेट किया था तो अगर एक तरह की बहुत सारी वैल्यूज थी तो हमने क्या किया था उसको एक जगह एक ही वेरिएबल से डिनोट किया था और उसको बोला था भाई इसको अब हम एरे बोलेंगे अब हमारे पास क्या है ये हमारे पास ऑलरेडी अरेज हैं हम इनको भी ऐड करके एक सिंगल वेरिएबल बनाने की कोशिश कर रहे हैं तो आप ये मान सकते हैं जैसे जब आपने दो ब्रैकेट लगा दिए नंबर ऑफ रो और कॉलम के तो दिस इज़ काइंड ऑफ एन एरे ऑफ अरेज यानी ये एक एरे है जिसके अंदर इंडिविजुअली भी अरेज हैं है ना यानी ये बाहर मार्क्स वाला एरे है जिसमें एक रो आएगी जैसे आप यहां देखें आपका जो पिक्टोरियल रिप्रेजेंटेशन है यानी एक स्टूडेंट आप एक्सेस करेंगे दूसरा स्टूडेंट एक्सेस करेंगे 50 वां स्टूडेंट एक्सेस करेंगे और पर स्टूडेंट के लिए भी उसके बाद आपको एक अंदर एरे मिलेगी जिसके अंदर पांच-पांच सब्जेक्ट के या छह-सात देखिए डिक्लेरेशन का सिंटेक्स अभी हमने देखा इंट ए आरआर 3 4 इसका मतलब क्या है आपके पास तीन रोज हैं और चार कॉलम्स हैं यानी इसको अगर मैं अरेंज करूंगा तो कैसे होगा तीन रो एक बेसिकली 1 2 3 और चार कॉलम तो 1 2 3 4 1 2 3 4 1 2 3 4 अगर मैथ में भी जो लोग इंजीनियरिंग के स्टूडेंट्स हैं वो पढ़ रहे हैं मैट्रिक्स तो एक टाइप का मैट्रिक्स आप इसको मान सकते हैं वरना बस आप ये मान कर चलिए कि एक टेबुलर डटा फॉर्मेट है जिसमें कितनी रोज हैं ये जो है इस तरह से जो होता है जो आपकी कॉपी में जैसे पहले आप बचपन में छोटे होते थे अभी भी कॉपी में क्या होता है लाइनें खींची होती हैं ऐसे कि आप रो बाय रो लाइन बाय लाइन लिख सक हैं तो कितनी लाइन है इसको बोलेंगे रो और कितने इस तरह से ऊपर से खींचे हुए हैं इसको बोलेंगे कॉलम्स है ना तो रो और कॉलम के बेस पर होगा इनिश इजेशन इसका कैसे होगा डायरेक्टली वैल्यू अगर आपको असाइन करनी है तो पर रो को आप एक ब्रैकेट के अंदर बंद करेंगे देखिए नॉर्मल एरे जब हमने इनिश किया था तो एक एरे बेसिकली एक ब्रैकेट के अंदर था अब यहां पर क्या होगा ब्रैकेट के अंदर फिर से ब्रैकेट है कॉमा सेपरेटेड यानी ये पहली रो है ये दूसरी रो है क्योंकि हमने एरे कैसा डिक्लेयर किया है 2/2 का डिक्लेयर किया है एक्सेस कैसे करेंगे एक्सेस करेंगे 01 अगर मेरे को फर्स्ट रो का सेकंड एलिमेंट चाहिए यानी ये देखिए ये जो नीचे लिखा हुआ है ये इंडेक्स है जब आप पहला ज़ीरो लिखेंगे यानी मैं लिखूंगा स्टूडेंट मैंने मान लीजिए एक ही ब्रैकेट लगाया स्टूडेंट ज़ीरो इसका मतलब पहले स्टूडेंट के सारे मार्क्स मुझे दे दीजिए स्टूडेंट ज़ीरो अभी भी अपने आप में एक एरे है हमने क्या बोला था स्टूडेंट इज नाउ एन एरे ऑफ़ एरे तो स्टूडेंट ज़ीरो क्या है अपने आप में एक एरे है जो कि स्टूडेंट ज़ीरो के पांच के पांच मार्क्स देता है स्टूडेंट ज़ीरो मतलब पहला स्टूडेंट हमने कहा था इंडेक्स कहां से शुरू होता है हमेशा जीरो से तो स्टूडेंट ज़ीरो का मतलब है फर्स्ट रो फर्स्ट रो में जो मार्क्स हैं वो आपको मिल गए हैं उसके बाद अगर आपको कोई और मार्क्स चाहिए मान लीजिए आपको पहले ही मार्क्स चाहिए तो आप लिखेंगे 0 जी अगले मार्क्स चाहिए तो आप लिखेंगे 0 1 उससे अगले मार्क्स चाहिए तो लिखेंगे 02 03 04 अगर आपको 50 वें स्टूडेंट के मार्क्स चाहिए तो आप लिखेंगे स्टूडेंट 490 491 492 493 494 इस तरह से जो आपका टू डायमेंशन एरे है वो काम करता है मेमोरी लेआउट कैसा है स्टोर्ड इन रो मेजर ऑर्डर मीनिंग रोज आर स्टोर्ड इन कंटीन्यूअस मेमोरी लोकेशन एक तरह से आप ये मान सकते हैं है तो अभी भी एक पूरा का पूरा कंटीन्यूअस मेमोरी ब्लॉक ही मान लीजिए इसको करना है तो क्या करेगा 50 स्टूडेंट के पांच मार्क्स हर स्टूडेंट के पांच तरह के मार्क्स तो लोकेशन कितनी हो गई 250 1550 * 5 एंड इंटू इसका ये एड्रेस दिखेगा मान लीजिए इंटी जर है चार बाइट का तो कितनी 1000 लोकेशन से एक साथ पहले ढूंढ कर लाएगा तभी हमारा एरे बनाएगा बट उस लोकेशन के अंदर अगर आप जाएंगे तो पहले पहले मार्क्स होंगे पहले स्टूडेंट के पहले दूसरे तीसरे चौथे पांचवे मार्क्स होंगे फिर अगले स्टूडेंट के पहले दूसरे तीसरे चौथे पांचवे होंगे तो इसी को ये बोल रहा है रो मेजर इसको क्या बोलते हैं रो मेजर यानी पहले एक पूरी रो खत्म होगी उसके बाद फिर अगली रो शुरू होगी उसके बाद फिर अगली रो शुरू होगी उसके बाद फिर अगली रो शुरू होगी तो टू डायमेंशन एरे जो है ये इस तरह से आपका मेमोरी के अंदर काम करेगा एक इसका एग्जांपल अपन यहां पर लेकर देख लेते हैं मान लीजिए स्टूडेंट फाइव 6 है जरा पांच स्टूडेंट के मार्क्स हम एक बार इनपुट कराते हैं और आउटपुट कराते हैं तो कैसे कराएंगे अब देखिए क्योंकि हमको दो इंडेक्सेस को छेड़ना है तो हमको लूप भी एक के अंदर एक दो लगाने पड़ेंगे यानी हमको नेस्टेड लूप्स यहां पर यूज़ करने पड़ेंगे कैसे तो मान लीजिए सबसे पहले मैं बोलूंगा फॉर बाहर वाला लूप हमेशा जो चलेगा वह बाहर के लिए चलेगा यानी कितने हमारे पास स्टूडेंट हैं है ना तो मैं बोलूंगा इंट i = 0 i < 5 i + या इसका नाम हम और इंप्रूव करने के लिए लिख देते हैं रो ़ से स्टार्ट करिए जब तक रो पाच से कम हो और हर बार रो को क्या करते रहिए प्लस प्लस करते रहिए उसके बाद अंदर एक और लूप इस लूप में हम क्या करेंगे एंड कॉल यानी कॉल मतलब कॉलम इ इक्वल टू 0 जब तक कॉलम किससे छोटा हो छ से छोटा हो जब तक तब तक चलते रहिए और कॉलम प्लस प्लस आप करते रहिए तो रो और कॉलम के लिए हमने दो लूप लगा दिए इसके बाद क्या करेंगे प्रिंट एफ तो कुछ बचा ही नहीं हम क्या बोलेंगे एंटर द मार्क्स फॉर स्टूडेंट परसेंटाइल डी सब्जेक्ट परसेंटाइल डी आप क्या करेंगे इनकी वैल्यूज देना स्टार्ट करेंगे तो स्टूडेंट नंबर क्या है स्टूडेंट नंबर है रो प्सव सब्जेक्ट नंबर क्या है सब्जेक्ट नंबर है कॉलम प्सव और एंटर कहां करना है हमको मार्क्स देने कहां पर है फाइनली अच्छा अभी तो खैर इतना ही है वो हमको स्कैनफ में देना है तो हमने ये दोनों दे दिए उसके बाद क्या देंगे स्कन एफ और यहां दे देंगे परसेंटाइल डी एन पर्सन मार्क्स रो एंड देन कॉलम यह बात समझ आ रही है क्या देखिए इसको मैं क्या थोड़ा छोटा कर देता हूं दो स्टूडेंट के तीन सब्जेक्ट के मार्क्स फिलहाल हम यहां पर ले लेते हैं ताकि हमको रन करने में थोड़ा सा आसानी हो तो यहां बोलते हैं दो स्टूडेंट और तीन सब्जेक्ट है ना एक बार देखिए इसको चलाकर देखते हैं क्या करेंगे वापस इधर आ जाते हैं हम चलाएंगे अरेज के अंदर जीसीसी टू डायमेंशन एरे माइनस ओ टू आउट अच्छा क्या गड़बड़ आई है नो सच फाइल और डायरेक्ट्रीएंट्री ये शायद कोई और ऑप्शन है आई डोंट नो माइनस ओ ये हमारा यहां पर चल गया उसके बाद बोलेंगे टूू डायमेंशन अरे डॉट आउट ये बोल रहा है स्टूडेंट वन के सब्जेक्ट वन के मार्क्स एंटर करिए मान लीजिए 45 स्टूडेंट वन के यहां देखिए थोड़ा सा क्या है हमने इसके बाद कोई स्पेस नहीं छोड़ा है हमको यहां कॉलन लगाकर स्पेस दे देना चाहिए था एक बार इसको मैं क्लक करके दोबारा से कंपाइल कर लेता हूं और फिर से हम इसको रन करते हैं ताकि थोड़ा सा बेटर हो जाए स्टूडेंट वन के सब्जेक्ट वन के मार्क्स एंटर करिए 45 नंबर आए पहले सब्जेक्ट में स्टूडेंट वन के दूसरे सब्जेक्ट में आए 6 7 तीसरे सब्जेक्ट में आए 98 स्टूडेंट टू के पहले सब्जेक्ट में आए 34 दूसरे में 76 तीसरे में 56 तो देखिए क्या हुआ यहां पर ही एंटर हो गया इसने दोनों स्टूडेंट के तीनों सब्जेक्ट के मार्क्स यहां पर एंटर करा लिए ये बात आपको समझ आ रही है कि जब पहली रो के लिए पहले पूरा का पूरा लूप चलेगा फिर खत्म हो जाएगा जब यहां रो प्लस प्लस होकर आएगी रो वन के लिए यानी पहली रो चली रो जीरो फिर आएगा रो वन के लिए रो वन के लिए फिर से लूप अंदर वाला पूरा का पूरा चलेगा नेस्टेड लूप्स हमने इससे पहले भी प्रैक्टिस एक्सरसाइज में किए हैं तो वहां भी आपने देखा होगा बट यहां पर आपको समझ आया कि ये क्या होगा ये लूप कितनी बार चलेगा दो बार बाहर वाला चलेगा और तीन बार अंदर वाला पर तीन बार जो अंदर वाला है वो तीन बार पहले जीरो के लिए चलेगा तीन बार वन के लिए चलेगा तो टोटल कितनी बार चलेगा मल्टीप्लिकेशन ऑफ दीज टू व्हिच इज छह बार अंदर वाला लूप चलेगा जो हमको यहां पर दिखा 1 2 3 4 5 6 छह बार जो अंदर वाला लूप है मेरा ये चला इसलिए छह नंबर में इनपुट करा पाया सेम चीज मैं आउटपुट के लिए भी करूंगा अगर मुझे सेम इनके जो मार्क्स हैं वो आउटपुट कराने हैं तो भी हम यहां एक के बाद एक लूप लगाएंगे और प्रिंट कर देंगे दोनों के मार्क्स ठीक है तो ये इस तरह से दोस्तों हम एक्सेस कर सकते हैं टू डायमेंशन एरे को ये भी थोड़ा इंपॉर्टेंट होता है जभी भी आप थोड़ा सा बड़ा प्रोजेक्ट बना रहे हैं कुछ भी इस टाइप का काम कर रहे हैं तो टू डायमेंशन एरे देखने के लिए आसानी से मिल जाता है ठीक है आ जाते हैं अपने इस एरे टॉपिक के जो काफी बड़ा काफी इंटरेस्टिंग टॉपिक राय के लास्ट पॉइंट पर क्या जो कि है मल्टी डायमेंशन एरे यानी जरूरी नहीं कि एरे दो डायमेंशन ही हो जैसे दो डायमेंशन को आपने एक टेबल बनाया थ्री डायमेंशन को आप क्या बना देंगे एक क्यूब टाइप का आप इमेजिन करिए जैसे बहुत सारे लोग वो कलर्ड वाला क्यूब भी सॉल्व करते हैं ना आप आप उस टाइप का ये क्यूब इमेजिन करिए यानी एक-एक जो इसका अंदर का ब्लॉक है वो क्या होगा एक-एक एलिमेंट होगा यानी जनरलाइज करना है आपको इसको एक्सटेंड टू डायमेंशन एरे टू मोर डायमेंशन लाइक 3d फॉर क्यूब्स और हायर यानी तीन डायमेंशन भी इनफ नहीं है हो सकता है चार डायमेंशन हो हो सकता है पांच डायमेंशन डायमेंशन हो और ये डायमेंशन फिजिकल डायमेंशन नहीं है तो इसको उससे कंपेयर मत करिएगा कि सर 3d से ज्यादा तो डायमेंशन ही नहीं होती चौथी डायमेंशन तो सर टाइम होती है आपको यहां क्या देखना है आपकी डाटा की क्या डायमेंशन है अब देखिए मान लीजिए हमने एक क्लास के ये मार्क्स रख लिए है ना मार्क्स टूथ यानी मेरी क्लास में दो बच्चे हैं और वो तीन सब्जेक्ट पढ़ते हैं अब मैं क्या बोलूं मैं बोलूं नहीं नहीं आपको तो आपके स्कूल में एक्चुअली 12 क्लासेस हैं तो आपको क्या करना है हर क्लास के लिए हर बच्चे का हर सब्जेक्ट का मार्क्स आपको रखना है यहां तीन डायमेंशन मेरी क्या-क्या हो गई पहली डायमेंशन मेरी हो गई क्लास अगली डायमेंशन मेरी हो गई नंबर ऑफ स्टूडेंट्स और अगली डायमेंशन मेरी हो गई नंबर ऑफ मार्क्स मान लीजिए मैं कहूं कि नहीं नहीं हमारा तो हमारे स्कूल की तो कितनी 12 ब्रांचेस भी हैं या मान लीज बाराम ने लिख लिया है मान लीजिए 35 ब्रांचेस हैं हमारे स्कूल की हैं अब मैं मान लीजिए केंद्रीय विद्यालय से पढ़ा हूं हमारे स्कूल की तो 1000 ब्रांचेस होती थी तो मान लीजिए हमारे स्कूल भी 1000 स्कूल्स हैं तो अब आपकी चार डायमेंशन हो गई पहली डायमेंशन क्या है स्कूल अगली डायमेंशन है क्लास अगली डायमेंशन है स्टूडेंट अगली डायमेंशन है आपके सब्जेक्ट तो आप क्या करेंगे एक ही एरे में आप अपने सारे स्कूल्स की सारी क्लासेस के सारे बच्चों के सारे सब्जेक्ट के मार्क्स आप इस एरे में स्टोर कर सकते हैं तो यहां डायमेंशन किस हिसाब से डिफाइन होगी आप कितनी कितने लेवल तक डाटा को स्टोर करने की कोशिश कर रहे हैं है ना तो हम क्या करते हैं इसको कर देते हैं कमेंट और इसको ले जाते हैं वापस टू डायमेंशन एरे पर है ना तो यहां पर मैं क्या करता हूं एक कॉमन डालकर डी एरे भी यहीं पर दिखा देते हैं ताकि अगर किसी को बाद में देखना है तो वह देख पाए है ना थ्री डायमेंशन एरे की डिक्लेरेशन कैसे होगी ऐसे होगी च इज या फोर डायमेंशन ये क्या है हमारा 4d एरे डिक्लेरेशन ठीक है तो अब यहां पर वापस आ जाते है क्या बोल रहा है ये आपको जो दो डायमेंशन के लिए आपने किया वही आपको 3d के लिए करना है यानी अगर मैं इस 4d की बात करूंगा तो ये क्या है एरे ऑफ एन एरे ऑफ एन एरे ऑफ एन एरे यानी इसमें आप तीन चीजें भी पहले तीन इंडेक्सेस भी लिख देंगे तो भी आपको एक एरे मिलेगा ये करेंगे तो एक थ्री डायमेंशन एरे मिलेगा यानी मैं लिखूं मार्क्स रो तो वो देगा एक थ्री डायमेंशन एरे मैं लिखूं मार्क्स रो जीरो तो वो देगा एक टू डायमेंशन एरे मार्क्स 00 तो वो देगा एरे और मार्क्स 00 देगा मेरे को पहले स्कूल के पहली क्लास के पहले सब स्टूडेंट के पहले सब्जेक्ट के मार्क्स तो एक्सेस करना डिक्लेयर करना सब कुछ सेम चलेगा डिक्लेयर कैसे करेंगे आप मान लीजिए थ्री डायमेंशन एरे के लिए इंट ए आरआर 234 जो भी हमने करके दिखाया इनिशियल इजेशन में क्या होगा सेम चीज आपको बस ये याद रखना है कि एक एरे को इ इनिश इज कैसे करते हैं दो ब्रैकेट्स और उसके अंदर कॉमा सेपरेटेड वैल्यूज तो एरे ऑफ एरे क्या होगा अब बाहर वाला एरे को तो ये पता है कि मैं एरे हूं उसको ये नहीं पता कि तेरे अंदर भी एरे है तो क्या करेगा वो तो बोलेगा भाई मेरे लिए ब्रैकेट लगाओ और मेरे अंदर जो भी आता है उसको कॉमा लगाकर लिख दीजिए तो क्या होगा उसके अंदर क्या आ रहा है उसके अंदर भी एरे आ रहा है तो उसके अंदर वाले एरे के लिए आपको ब्रैकेट लगाने होंगे थ्री डायमेंशन के लिए क्या होगा वो बोलेगा मेरे अंदर टू डायमेंशन एरे आप डालते रहिए तो यहां देखिए डिक्लेरेशन कैसे हो रहा है ये थ्री डायमेंशन एरे है इसके अंदर पहले देखिए एक ये एक ये रो एक ये रो ये दो रो का एक टू डायमेंशन एरे यहां खत्म हो गया दो ब्रैकेट के साथ और फिर एक ये दो रो का टू डायमेंशन एरे यहां खत्म हुआ तो 2 2 2 ये क्या है टू रोज वाला एरे एक्सेस कैसे करेंगे एक्सेस मैंने आपको बताया बेसिकली तीन इंडेक्सेस हैं तो इंडेक्सेस की तरह एक्सेस करेंगे यह भी रो मेजर ही होगा यानी मेमोरी लेआउट स्टिल इज कंटीन्यूअस देखिए एक पॉइंट के बाद बहुत ज्यादा बड़े अरेज डिक्लेयर इसीलिए नहीं किए जाते क्योंकि अगर मैं इस एरे की बात करूं जो भी हमने डिक्लेयर करने की कोशिश की इसमें कितने एलिमेंट्स होंगे हम यहां पर अभी 100 देख रहे थे कि हमारे पास 1000 स्कूल्स हैं तो 1000 * 12 * 2 * 3 इतने नंबर ऑफ एलिमेंट्स मल्टीप्लाई बाय एलिमेंट का साइज यानी मल्टीप्लाई बाय 4 उतनी बड़ी मेमोरी की जो चंक है हमको चाहिए वो भी एक साथ यानी कंटीन्यूअस चाहिए कहीं पर भी ब्रेक नहीं होना चाहिए बीच में अगर एक वेरिएबल भी मान लीजिए आप ऐसा मोहल्ला ढूंढ रहे हैं जहां एक भी घर ना बिका हो अगर एक भी घर बिक गया है तो वो मोहल्ला मेरे काम का नहीं है क्योंकि मुझे तो सारे के सारे घर चाहिए तो क्या होता है मेमोरी जब एलोकेट की जाती है ली जाती है तो जनरली सीक्वेंस में नहीं होता ऑपरेटिंग सिस्टम रैंडम उसको जहां फ्री मिलता है जो जल्दी मिल जाए वो लोगों को देता रहता है तो कंटीन्यूअस मेमोरी लोकेशंस एक पॉइंट के बाद ढूंढना थोड़ा सा मुश्किल हो जाता है तो आपके एरे का साइज जो है वो बहुत ज्यादा बड़ा नहीं होना चाहिए वरना ऐसा भी हो सकता है कि आपका प्रोग्राम लोड होना शुरू हो और ऑपरेटिंग सिस्टम आपकी रिक्वेस्ट को जो है रिजेक्ट कर दे बोले नहीं इतना बड़ा कंटीन्यूअस मेमोरी लोकेशन अभी रम में एक्सेस बेसिकली एजिस्ट नहीं करता है तो आपकी रिक्वेस्ट जो है वो फुलफिल नहीं हो पाएगी या आपका प्रोग्राम बहुत देर तक वेट करता रहे कि मैं तो भाई वेट करने के बाद ही रन कर पाऊंगा ठीक है तो आपको अरेज डिक्लेयर करते हुए इस बात का भी ध्यान रखना है देखिए यहां पर दोस्तों हमारा एरे होता है कंप्लीट एरे में कितनी सारी चीजें हमने की एरे का नीट देखा डिक्लेरेशन देखा एलिमेंट को कैसे एक्सेस करना है इनिशियलिज्म हमने देखा बेसिकली ट्रैवर्सल की एल्गोरिथम्स भी चलती हैं बाउंड चेकिंग हमने देखा कि एक डेवलपर की बेसिकली ली अ यहां पर जिम्मेदारी होती है बाउंड चेक करने की आर्गुमेंट की तरह कैसे पास होता है पॉइंटर अ एरिथ मेे िक में प्लस माइनस कैसे करेंगे और एरे और पॉइंटर कैसे बिल्कुल एक ही चीज है ये भी हमने देखा कॉल बाय रेफरेंस होता है बाय डिफॉल्ट ये देखा और बाद में हमने देखे टू डायमेंशन और मल्टी डायमेंशन एरे हमको कैसे इस्तेमाल करने हैं दोस्तों इसकी भर भर के प्रैक्टिस करनी है एरे की सबसे ज्यादा इंपॉर्टेंट जैसे मैं पहले भी बोला था चैप्टर के स्टार्टिंग में एंड में भी यही बोलूंगा कि सबसे ज्यादा इंपॉर्टेंट टॉपिक अगर थोड़े से एडवांस टॉपिक्स में कोई है तो वो एरे है और उसके बाद जाएंगे हम सेकंड मोस्ट इंपॉर्टेंट टॉपिक पर जो कि है स्ट्रिंग जो कि हम स्टार्ट करेंगे इसके बाद उससे पहले क्या करेंगे बहुत सारी इसकी भर-भर के एक्सरसाइज करिए बहुत सारे एग्जांपल सॉल्व करिए बहुत सारी चीजें करिए जब तक आप अपने हाथ से चीजें सॉल्व करके नहीं देखेंगे तब तक बात दोस्तों नहीं बनने वाली है तो इसकी थोड़ी सी प्रैक्टिस करते हैं उसके बाद जाएंगे हमारे नेक्स्ट टॉपिक पर जिसका नाम है स्ट्रिंग्स अरे भाई कहां जा रहे हैं बड़ा इंपॉर्टेंट चैप्टर था चैप्टर नंबर नाइन अरे देखिए उसके बाद सडन कितने सारे चैलेंज आ गए हैं 66 से 77 तक यानी 11 चैलेंज यहां पर हमारे पास आ गए हैं देखिए एडवांस टॉपिक्स में या थोड़ा मॉडरेटली एडवांस बोलना चाहिए मॉडरेटली एडवांस टॉपिक्स में सबसे इंपॉर्टेंट ये चैप्टर है बहुत ज्यादा डीएसए में पूछा जाता है तो ये सारे के सारे प्रोग्राम आपको डेफिनेटली एक बार ट्राई करने हैं तभी आप इसके बाद डीएसए लेवल पर भी पहुंच पाएंगे तो एक-एक करके देखते हैं क्या प्रोग्राम्स हैं क्रिएट अ प्रोग्राम टू फाइंड द सम एंड एवरेज ऑफ ऑल एलिमेंट्स इन एन एरे तो एरे आप यूजर से इनपुट कराइए और सम एंड एवरेज उनका प्रिंट करिए फिर क्या है क्रिएट अ प्रोग्राम टू फाइंड नंबर ऑफ अरेंस ऑफ एन एलिमेंट इन एन अरे यानी एक एरे आप पहले यूजर से लीजिए फिर एक दूसरा नंबर लीजिए और बताइए वो नंबर उस एरे में कितनी बार एजिस्ट करता है फिर क्रिएट अ प्रोग्राम टू फाइंड द मैक्सिमम एंड मिनिमम एलिमेंट इन एन अरे एक एरे लीजिए उसका मैक्सिमम और मिनिमम आपको प्रिंट करना है फिर क्रिएट अ प्रोग्राम टू चेक इफ द गिवन एरे इज सॉर्टेड ऑर नॉट आपको बताना है अरे सॉर्ट है या नहीं सॉर्ट का मतलब क्या है या तो सारे के सारे एलिमेंट्स इंक्रीजिंग ऑर्डर में लगे हुए हो या सारे के सारे एलिमेंट डिक्रीजिंग ऑर्डर में लगे हुए हो तो उसको बोला जाएगा सॉर्टेड ठीक है देन क्रिएट अ प्रोग्राम टू रिटर्न अ न्यू एरे डिलीट अ स्पेसिफिक एलिमेंट यानी एक एरे लीजिए उसमें से एक एलिमेंट को डिलीट करना है तो आपको रिटर्न करना है एक नया बड़ा एरे बना कर के फिर क्या है तो एक फंक्शन इसके लिए आपको यहां बनाना होगा फिन क्रिएट अ प्रोग्राम टू रिवर्स एन एरे यानी एक एरे के जो एलिमेंट्स हैं उनका ऑर्डर आपको रिवर्स करना है ये आप इन प्लेस भी कर सकते हैं यानी सेम एरे में भी कर सकते हैं या नया एरे भी बनाकर रिटर्न कर सकते हैं अप टू यू देन क्रिएट अ प्रोग्राम टू चेक इफ द एरे इज पलिंड्रोम ऑर नॉट अब आपको एरे बताना है कि पलिंड्रोम है नहीं या एरे के एलिमेंट्स सारे के सारे पलिंड्रोम प्रॉपर्टी को सेटिस्फाई करते हैं या नहीं करते देन देन राइट अ फंक्शन दैट यूस पॉइंटर एरिथ मेे िक टू कॉपी एन एरे ऑफ कैरेक्टर्स इनटू अनदर एक एरे ऑफ कैरेक्टर आपको मिला है पॉइंटर एरिथ मेे िक यानी पॉइंट्स में प्लस प्लस माइनस माइनस का आप इस्तेमाल करिए और उस एरे की एक कॉपी आपको तैयार करनी है फिर क्रिएट अ प्रोग्राम टू मर्ज टू सॉर्टेड अरेज दो सॉर्टेड अरे आपको मिली है एक थर्ड एरे आपको बनानी है जिसमें सब दोनों के दोनों के जो एलिमेंट्स हैं वो सॉर्ट होकर बेसिकली थर्ड एरे में हमको मिले यानी दोनों एरे पहले से सॉर्टेड हैं फाइनल एरे भी आपका सॉर्टेड होना चाहिए क्रिएट अ प्रोग्राम टू सर्च एन इन अ 2d एरे 2d एरे आपको मिली है उसमें आपको क्या करना है एलिमेंट को सर्च करना है फिर क्रिएट अ प्रोग्राम टू डू सम एंड एवरेज ऑफ ऑल एलिमेंट्स ए 2d एरे तो जो आपने पहले सम एंड एवरेज 1d एरे के लिए किया था यहां आपको एक टू डायमेंशन एरे के लिए वही काम करना है एंड फाइनल क्रिएट अ प्रोग्राम टू फाइंड द सम ऑफ़ टू डायगोनल एलिमेंट्स यानी अगर मेरे पास एक ये टू टू डायमेंशन एरे है तो एक डायगोनल एलिमेंट्स होंगे ये वाले और दूसरी डायगोनल एलिमेंट्स होंगे ये वाले इसके लिए आप अज्यू कर सकते हैं कि बेसिकली स्क्वायर फॉर्म में होगी जो हमारी टू डाइमेंशनल एरे है यानी नंबर ऑफ रोज एंड नंबर ऑफ कॉलम्स विल बी इक्वल ये आप इसमें अज्यू कर सकते हैं ठीक है तो देखिए वन ऑफ द सबसे इंपॉर्टेंट टॉपिक है इसको बिल्कुल भी इसकी प्रैक्टिस स्किप मत करिएगा कथा की तरह पूरा वीडियो नहीं देखना है देखिए मेरा तो फायदा इसी में आप पूरी वीडियो देख जाएं है ना आपको कुछ समझ आए या नहीं आए बट बेटा जब तक समझ नहीं आएगा ना मेरा फायदा होगा ना आपका फायदा होगा आपको क्या करना है समझ भी आना चाहिए प्रैक्टिस भी होनी चाहिए बेसिकली आपको ये जो सी प्रोग्रामिंग है वो आ जानी चाहिए तो 11 के 11 प्रॉब्लम्स एक बार ट्राई करिए सॉल्यूशन वीडियो है वरना सॉल्यूशन वीडियो में जाइए सॉल्यूशन देखिए उसके बाद फिर से ट्राई करिए आपको बेसिकली इनको पक्का करके आगे जाना है एरे चैप्टर बहुत ज्यादा इंपॉर्टेंट है इसको एक बार ट्राई करिए उसके बाद चलते हैं अपने नेक्स्ट चैप्टर की तरफ तो दोस्तों हमारा नेक्स्ट चैप्टर क्या है नेक्स्ट चैप्टर है स्ट्रिंग्स और जैसा कि हमने बात किया था लास्ट टाइम एरे में भी एरे को मैं फिर भी कहूंगा शायद स्ट्रिंग से भी थोड़ा ज्यादा इंपॉर्टेंट है क्योंकि अगर एरे समझ नहीं आया तो स्ट्रिंग भी शायद आपको उतना अच्छे से समझ नहीं आएगा बट एरे के बाद अगर कोई डीएस से पॉइंट ऑफ व्यू से इंटरव्यू पॉइंट ऑफ व्यू से सबसे इंपॉर्टेंट टॉपिक है तो वह आपका होने वाला है स्ट्रिंग्स स्ट्रिंग्स की बहुत सारी प्रॉब्लम्स हैं आप लीड कोड पर जाएंगे किसी भी कोडिंग प्लेटफार्म पर जाएंगे सबसे ज्यादा जो प्रॉब्लम्स आपको मिलेंगी वो या तो एरे के टॉपिक में मिलेंगी या स्ट्रिंग्स के अंदर मिलेंगी ओबवियसली आपको इसके बाद बहुत सारी अलग-अलग तरह के एल्गोरिथम्स पढ़नी पड़ती हैं जिससे आप डीएसए की नेक्स्ट लेवल प्रॉब्लम्स लगा पाएं बट पॉइंट ये है कि जब तक यहां जो हम पढ़ा रहे हैं ये क्लियर नहीं होगा तो उसके बाद नेक्स्ट लेवल का भी कोई मतलब बनता नहीं है तो अगर आप डीएसए करने में भी इंटरेस्टेड हैं अगेन नीचे आपको डिस्क्रिप्शन में लिंक मिलेगा हमारे कोर्स का आप वो कोर्स ले सकते हैं बट मैं वो लेने का आपको तभी रिकमेंड करूंगा जब आपने बेसिक्स पूरे पढ़ लिए हैं आप जो हम एक्सरसाइजस यहां पर करा रहे हैं जो प्रोग्रामिंग यहां पर करा रहे हैं यह आप कर पा रहे हैं आपको समझ आ रही है उसके बाद आप डीएसए लेवल पर जाने की सोच सकते हैं तो अगर स्ट्रिंग में शुरुआत करें स्ट्रिंग में क्या-क्या हम देखेंगे स्ट्रिंग देखेंगे मेमोरी इनिश इजर फॉर्मेट और बाद में देखेंगे हम स्ट्रिंग के अलग-अलग तरह के फंक्शन स्ट्रिड ए एक नया हेडर फाइल अभी तक हमने सिर्फ एसटीडीआईओ यूज़ किया है स्ट्रिड ए हेडर फाइल देखेंगे और फिर देखेंगे टू डायमेंशन कैसी स्ट्रिंग्स भी हो सकती हैं तो चलिए दोस्तों जल्दी से शुरू करते हैं सबसे पहले कहां से स्टार्ट करेंगे व्हाट इज अ स्ट्रिंग स्ट्रिंग एक्चुअली है क्या स्ट्रिंग का आप बात क्या कर रहे हैं तो देखिए स्ट्रिंग एक कैरेक्टर एरे ही होती है स्ट्रिंग इज अ सीक्वेंस ऑफ कैरेक्टर्स टर्मिनेटेड बाय अ नल कैरेक्टर इस बात का मतलब क्या है देखिए इस बात को हमको समझना है सबसे पहले स्ट्रिंग का अगर हम अगेन जो मैं हमेशा बोलता हूं शाब्दिक अर्थ देख यानी स्ट्रिंग जो शब्द है स्ट्रिंग जो वर्ड है इसका मतलब क्या है अगर आप नॉर्मल इंग्लिश में बात करें तो स्ट्रिंग का मतलब तो धागा होता है यस आपने कई बार देखा होगा हैप्पी बर्थडे या सेलिब्रेशन के लिए हमारे यहां दीपावली पर शुभ लाभ के लिए शुभ दीपावली के लिए ऐसे धागे आते हैं जो आप गेट पर बांध लेते हैं जिस पर अलग-अलग शब्दों में शुभ लाभ या मान लीजिए हैप्पी बर्थडे वगैरह करके लिखा होता है जभी भी आप स्ट्रिंग अपने मन में सोच रहे हैं आपको वो अ बेसिकली वो जो डेकोरेशन का पीस होता है उसके बारे में सोचना है यानी स्ट्रिंग क्या है अलग-अलग लेटर्स है ना अलग-अलग लेटर्स को अगर आपने एक साथ पिरो दिया है तो वो एक स्ट्रिंग है अलग-अलग लेटर्स को अलग-अलग कैरेक्टर्स को अगर आपने एक साथ पिरो दिया है तो वो स्ट्रिंग है तो स्ट्रिंग क्या हुआ एक ग्रुप ऑफ कैरेक्टर्स हुआ सीक्वेंस ऑफ कैरेक्टर्स हुआ और सीक्वेंस ऑफ कैरेक्टर या सीक्वेंस ऑफ कोई भी डेटा टाइप दिखाने का तरीका क्या है कोई भी डटा अगर अभी ये अभी हम पढ़कर आए हैं लास्ट चैप्टर में अगर आपको कोई भी एक ही टाइप की सीक्वेंस चाहिए यानी बहुत सारी मेमोरी चाहिए तो उसके लिए आप एरे यूज़ कर सकते हैं तो इसलिए सी में क्या होता है स्ट्रिंग को रिप्रेजेंट करने के लिए आप क्या यूज़ करते हैं एक कैर टाइप की एरे यूज़ करते हैं क्योंकि ये देखिए इंडिविजुअली अगर हम बात करें तो a क्या है एक कैरेक्टर है बी क्या है कैरेक्टर है सी क्या है क्या है सब सब ये क्या है एक-एक कैरेक्टर है बट अगर हम इन सबको को एक साथ मिला दें और टर्मिनेट कर दें इस बैक स्ल 0 से बै स्ल 0 क्या है एक स्पेशल आप मान लीजिए कैरेक्टर है जिसका मतलब क्या होता है जिसका मतलब होता है नल यानी नल कैरेक्टर इसका मतलब है नल कैरेक्टर का मतलब है यहां पर भाई इसकी बात जो है स्ट्रिंग जो है यहां पर खत्म हो रही है हमको पता कैसे चलेगा कि स्ट्रिंग कहां पर खत्म हो रही है जहां भी नल कैरेक्टर आ जाएगा हम वहीं मान कर चलेंगे कि स्ट्रिंग मेरी खत्म हो गई है तो नल टर्मिनेशन का क्या मतलब है द नल कैरेक्टर ब 0 मार्क्स द एंड ऑफ द स्ट्रिंग अगर मैं यहां पर मान लीजिए बीच में मैं d की जगह यहां पर लिख दूं बै ज़ीरो तो जो कोई यहां से देखना शुरू करेगा उसको लगेगा बस ए बी c ही स्ट्रिंग का पार्ट है क्योंकि उसके बाद मुझे नल कैरेक्टर मिल गया है तो जैसे आप नॉर्मल प्रोग्रामिंग में मान लीजिए सेमीकलन है हमारा सेमीकलन इज़ एंड ऑफ़ स्टेटमेंट इसी तरह से ये मान लीजिए बै स् 0 इज़ एंड ऑफ स्ट्रिंग उसके बाद का जो चीजें होंगी उसके बाद जो भी कुछ होगा वो सेम स्ट्रिंग में कंसीडर नहीं किया जाएगा अब बात आए कि इसको डिक्लेयर कैसे करेंगे भाई स्ट्रिंग लिटरल हम कब से डबल कोट्स में चलाते आ रहे हैं प्रिंट एफ के अंदर हम जो भी लिखते हैं यूज़र के अंदर हम जो भी मैसेज लिखते हैं कैसे लिखते हैं डबल कोड्स के अंदर लिखते हैं अगर हम अपना लास्ट बार वाला कोड देख लें जरा वापस चलते हैं यहां देखिए हमने क्या लिखा है हमने लिखा एंटर द मार्क्स फॉर स्टूडेंट और हमने इसको क्या किया है देखिए इसको हमने डबल कोड्स के अंदर डाला है इसका मतलब क्या है ये ऑलरेडी एक स्ट्रिंग है यानी अगर मैं इसको मेमोरी के अंदर डालूंगा इसको किसी डाटा स्ट्रक्चर के अंदर डालने की कोशिश करूंगा अभी तो क्या है मैं इसको डायरेक्टली प्रिंट एफ फंक्शन को एज एन आर्गुमेंट पास कर रहा हूं बट अगर मैं इसको किसी वेरिएबल में डालने की कोशिश करूं तो ये क्या है दिस इज जस्ट अ स्ट्रिंग ऑफ़ कैरेक्टर्स कैरेक्टर्स क्या है ई एन टी ई आर स्पेस स्पेस भी एक कैरेक्टर है टी एच ई स्पेस एम ए आर के ए स्पेस ये क्या है ये बस एक स्ट्रिंग है इस पूरे के पूरे कैरेक्टर अ कैरेक्टर्स की तो इसलिए इसको हम स्टोर करेंगे कहां पर कैरेक्टर एरे में और मूटे बिलिटी के बारे में क्या बात करता है स्ट्रिंग्स कैन बी म मॉडिफाइड व्हेन स्टोर्ड इन अ कैरेक्टर एरे ये सिर्फ यही क्यों बोल रहा है सिर्फ कैरेक्टर एरे में क्यों मॉडिफाई होगा इस पे हमने पूरी बात की है आगे चलके इसी चैप्टर में इस पर बात करेंगे बट आप ये मान कर चलिए कि स्ट्रिंग हमने डिफाइन की है तो मोटा-मोटा उसको मॉडिफाई किया जा सकता है स्पेशली पॉइंट यहां पर क्यों बोला जा रहा है क्योंकि ऐसे कुछ लैंग्वेजेस हैं जैसे कि जावा जहां पर स्ट्रिंग जो है वो इमू बल होती हैं उनकी वैल्यूज आप चेंज नहीं कर सकते हैं एक बार स्ट्रिंग डिफाइन हो गई तो हो गई हमको अभी बाकी तरफ नहीं देखना है हमको यहां पर क्या मानकर चलना है स्ट्रिंग जो है हमारी वो म्यूटेशन की एरे है व्हिच इज टर्मिनेटेड बाय अ नल कैरेक्टर अब ये देखेंगे कि मेमोरी में किस तरह से दिखती है अब देखिए मान लीजिए मैंने एक स्ट्रिंग लिखी हेलो है ना जैसे ही मैंने ये लिखा अभी आप लेफ्ट वाला पोर्शन अगर छोड़ भी दें अगर मैंने लेफ्ट में डबल कोट्स में लिख दिया हेलो तो वो कैसे दिखेगा अब ये तो मैंने आपको बता दिया कि ये क्या है ये कैरेक्टर एरे है तो कैरेक्टर एरे क्या होगा देखिए कैरेक्टर का साइज होता है 1 बाइट तो अगर एड्रेस मिला है एरे में हमने देखा था पहले वाले को अगर 1000 बाइट मिला है अगले एड्रेस तो अगले को मिलेगा 1001 फिर 1002 3 4 5 और इसमें क्या होगा एक एक्स्ट्रा क्योंकि नल भी हमको रखना है तो हेलो का साइज क्या होगा ए इ एल एओ और एक मेरा नल भी है तो मेमोरी एलोकेशन कैसे होता है फिक्स्ड साइज एट कंपाइल टाइम वो तो क्योंकि देखिए ये भी एरे है तो एरे की जो जो प्रॉपर्टीज हैं सब यहां पर लगेंगी तो इसका साइज जो है वो फिक्स हो जाएगा कंपाइल टाइम पे इंक्लूडिंग द नल टर्मिनेटर तो अगर कोई इसका साइज पूछेगा साइज क्या होगा लास्ट इंडेक्स + व यानी साइज होगा सिक्स तो हेलो का साइज एक्चुअली क्या है कैरेक्टर भले ही आपको पांच दिख रहे हैं 1 2 3 4 5 बट इसका साइज एक्चुअली क्या है मेमोरी में इसका साइज क्या है सिक्स है कोई स्ट्रिंग का साइज पूछेगा तो आप बोल सकते हैं कि स्ट्रिंग की लेंथ पांच है बट अगर मेमोरी मुझे कितनी चाहिए इसको स्टोर कराने के लिए मेरे को एटलीस्ट सिक्स स्पेसेस चाहिए क्योंकि मुझे एक में नल कैरेक्टर भी स्टोर करना पड़ेगा दूसरा पॉइंट यहां पर क्या है कंटीन्यूअस मेमोरी स्ट्रिंग्स आर स्टोर्ड इन कंटीन्यूअस मेमोरीज लाइक एरे स्ट्रिंग भी क्या होगा क्योंकि भाई है तो ये इंटरनली क्या है एक कैरेक्टर एरे ही है तो क्योंकि ये कैरेक्टर एरे है तो इसके लिए भी क्या होगा कंटीन्यूअस या कंटीन्यूअस मेरे को मेमोरी लोकेशन चाहिए इंडेक्स यहां पर क्या है देखिए जैसे नॉर्मल एरे का इंडेक्स है पहला वाला रहेगा ज़ीरो पर अगला कैरेक्टर वन पर अगला टू पर अगला थ्री पर अगला फोर पर अगला फाइव पर इस तरह से जो स्ट्रिंग है वो मेरी एक कैरेक्टर एरे की तरह एलोकेट हो जाएगी अब बात करते हैं कि स्ट्रिंग को हम इस्तेमाल कैसे करेंगे तो देखिए इस्तेमाल करने के लिए क्या है स्ट्रिंग इनिश इजेशन आप कैसे कर सकते हैं यहां हमने चार तरीके आपको दिखाए हैं 1 2 3 4 एक ही तरह की स्ट्रिंग को खाने के लिए चार तरीके हैं हम चलते हैं अपने कोडिंग स्टूडियो में और एकएक को चलाकर हम देखते हैं तो मैं यहां आता हूं हमारा चैप्टर नंबर ना हो गया है कंप्लीट यहां त एक नया चैप्टर बनाते हैं च इज 10 स्ट्रिंग्स है ना और स्ट्रिंग के अंदर हम एक बना लेते हैं स्ट्रिंग डट सी पुराने वाली को करते हैं बंद इसको बोलते हैं श इंक्लूड एसटीडी आड एच अगला क्या बोलेंगे इंट मेन इंट मेन में हम आ गए हैं हमको क्या दिखाना है स्ट्रिंग के अलग-अलग डिक्लेरेशन कैसे हो सकते हैं तो पहली बात तो यही कि स्ट्रिंग को आप कैसे बताएंगे कैरेक्टर एरे की तरह बताएंगे जैसे हमने यहां कैरेक्टर एरे दिखाया इसी तरह कैरेक्टर एरे की तरह आप दिखाएंगे तो कैरेक्टर फिर नाम फिर ब्रैकेट है ना ये जो कैरेक्टर के बाद में लगा रहा था अगेन ये थोड़ा जावा वाले मेरे को फ्लैशबैक आते रहते हैं बट आपको कैसे दिखाना है इस तरह से दिखाना है तो मान लीजिए मैं बोलता हूं इसका नाम क्या है सी है और आप क्या दिखाएंगे इसे सी एरे और इक्वल टू क्या होगा ये मान लीजिए मैंने बोल दिया ए एओ तो ये क्या है मैंने एक स्ट्रिंग डिफाइन कर दिया यानी राइट में क्या है ये एक स्ट्रिंग लिटरल है जो आप डबल कोड से डिफाइन कर सकते हैं जा ये बेसिकली सी कंपाइलर इसके लिए क्या करेगा ये अपने आप चेक करेगा कि अच्छा हेलो को सेव करने के लिए मुझे पांच कैरेक्टर और एक नल कैरेक्टर चाहिए यानी छह चाहिए छह साइज की एक अरे बनाएगा उसमें एच इ एल एल ओ और आपका जो नल स्ट्रिंग है यानी बैक स्ल 0 है उसको सेव करेगा उसको उठाकर उसका जो पहला पॉइंटर है वो कहां असाइन कर देगा c के अंदर असाइन कर देगा जैसे हमने एरे में देखा था एरे में भी इनिश इज करते हुए जो हम ब्रैकेट लगाकर इनिश इज कर रहे थे साइज देना जरूरी नहीं था यहां भी साइज देना जरूरी अगर आप साइज देना चाहते हैं तो आपको मिनिमम इसकी लेंथ का देना पड़ेगा इससे जदा आप कितना भी दे सकते हैं जैसे एग्जांपल हमने दिखाया 50 तो 50 के केस में अ ये क्या करेगा ये 50 की एक एरे बनाएगा और सिर्फ पहले पांच में ये डालेगा और छठे में बैक स्ल जीरो डालकर छोड़ देगा बाकी स्पेस आपका एमटी ही रहेगा तो यह भी तरीका है अगला तरीका क्या है मैं कैरेक्टर एरे की तरह ही इसको इनिश इज करूं है ना तो मैं दूसरा क्या कर सकता हूं मैं बोलता हूं मैं स्ट्रिंग लिटरल से इसको इनिश इज नहीं कर रहा मैं कैसे करूंगा मैं बोलूंगा कि भाई ये एक एरे है और इसमें क्या है नॉर्मल एरे की तर इसको बनाते हैं और एरे में क्या आएगा एक-एक इंडिविजुअल एलिमेंट आपके आएंगे तो मैं बोलूंगा h यहां आएगा फिर e आएगा फिर एल आएगा फिर एल आएगा माफ कीजिएगा एंड देन लास्ट में आएगा o ये मेरा ओ हो गया और सबसे लास्ट हमको क्या करना है बै स्ल 0 तो ये क्या हो गया मेरा नल स्ट्रिंग हो गया तो आप इस तरह से भी एक स्ट्रिंग को इनिश इज कर सकते हैं क्योंकि इंटरनली एक्चुअली जब हम ये भी लिख रहे हैं ना तो c इंटरनली ये ही कर रहा है उसके लिए भी है ना तो ये आपको इतना हर बार एक-एक कैरेक्टर को अलग-अलग ना लिखना पड़े आपके लिए एक आसान तरीका दे दिया है कि आप स्ट्रिंग को एज अ स्ट्रिंग लिटरल बना लीजिए और बाद में जो c है वोह इंटरनली उसको कैरेक्टर का एक एरे बनाकर यहां पर बेसिकली लगा देगा ठीक है अगले में अगेन हमने साइज भी दे दिया है वो आपके ऊपर है आप साइज़ देना चाहते हैं नहीं देना चाहते हैं बाकियों में क्या करेगा सब में 0 0 0 0 भर देगा जो हम ऑलरेडी एरे के अंदर देखकर आए हैं तो ये हो गया स्ट्रिंग इनिश इजेशन का तरीका बात आई अब सबसे इंपॉर्टेंट फॉर्मेट दिखाते हैं कि यूजर से स्ट्रिंग लेंगे कैसे और यूजर को स्ट्रिंग देंगे कैसे है ना तो वापस आ जाते हैं यहां पर इसका नाम हम रिनेम करके कर देते हैं क्या स्ट्रिंग इनिश इजेशन और एक नया यहां पर बनाते हैं क्या स्ट्रिंग फॉर्मेट इसका नाम रख देते हैं है ना स्ट्रिंग फॉर्मेट ड स क्योंकि यहां पर हम फॉर्मेट इनपुट करना है आउटपुट करना है इंटी जर की तरह ही करेंगे जैसे परसेंटाइल डी करते थे ऐसे ही यहां पर परसेंटाइल s करते हैं तो मैं बोलता हूं हैश इंक्लूड मान लीजिए हमको करना क्या है हम यह बोल रहे हैं कि यूजर का नाम आप लीजिए और यूजर का नाम वापस उसको गुड मॉर्निंग के साथ दिखाइए है ना तो बोलूंगा माफ कीजिएगा वॉइड मेन भी वैसे लिख सकते हैं आपका मन है इंट मेन पहले यूजर से एक स्ट्रिंग लेना है तो बोलता हूं प्रिंट एफ प्लीज एंटर योर नेम है ना मैंने बोला कि भाई अपना नाम जो है आप एंटर कर दीजिए अब अगर मुझे वह स्टोर करना है तो उसके लिए पहले एक अरेल बनानी पड़ेगी तो मैं बोल देता हूं मान लीजिए कैरेक्टर सी और मान के चलता हूं कि 50 कैरेक्टर में जैसे आईआईटी का फॉर्म भरते हुए या चीजों का फॉर्म भरते हुए होता है नाम में मैक्सिमम 50 लेटर मैं भी मान लेता हूं यहां मैक्सिमम नाम 50 लेटर्स में इसका आ जाएगा उसके बाद क्या करेंगे उसके बाद करेंगे स्कैन एफ क्या करना है हमको परसेंटाइल s अब देखिए यहां पर दो चीजें हैं पहली बात तो यहां पहले आपको स्पेस छोड़ना चाहिए स्पेस क्यों छोड़ना चाहिए यह हमने पहले भी बात की है स्पेस से क्या होता है अगर कोई ए बेसिकली अ कोई वाइट स्पेस कैरेक्टर है कोई स्पेस है कोई एंटर पहले से है जो वहां पड़ा हुआ है पहले से स्क्रीन पर पड़ा हुआ है तो उसको नहीं मानता उसको इग्नोर करता है यूजर जब तक कुछ एक्चुअल टाइप करना स्टार्ट नहीं करेगा तब तक उसको नहीं मानेगा दूसरी बात क्या है दूसरी बात ये है कि स्ट्रिंग को इनपुट कराते हुए हमको एन पर्सन ऑपरेटर नहीं देना पड़ता अगर आप यहां भी देखेंगे हमारे एग्जांपल में तो देखिए स्ट्रिंग को इनपुट कराते हुए हमने इन पर्सन यहां पर नहीं दिया है क्यों नहीं दिया है एन पर्सन हमने इसलिए नहीं दिया है क्योंकि सी ऑलरेडी एक एरे है तो सी क्या है ये हमने पहले भी बात की है एरे और पॉइंटर में कि सी क्या है सी एक पॉइंटर है जो कि पहली लोकेशन को पॉइंट करता है अगर मुझे पहला कैरेक्टर चाहिए तो तो मैं c0 लिख रहा होता अगर मैंने सिर्फ सी लिखा है तो सी एक पॉइंटर है जो पहली लोकेशन को पॉइंट करता है यानी सी ऑलरेडी एक एड्रेस है और क्योंकि स्कैनफ में हमको एड्रेस पास करना होता है तो सी ऑलरेडी एक एड्रेस हमको देगा और अगर मुझे इसको प्रिंट करना है बाद में तो मैं प्रिंट कैसे करूंगा प्रिंट एफ योर या कर दे हैं गुड मॉर्निंग परसेंटाइल s है ना और यहां दे देते हैं सी यह बात हमको समझ आ गई एक बार इसको चलाकर देख लेते हैं तो हम करते हैं सडी डॉ डॉट 10 स्ट्रिंग के अंदर आ गए जीसीसी नाम क्या है स्ट्रिंग फॉर्मेट स - o स्ट्रिंग फॉर्मेट डॉट आउट कंपाइलेशन एकदम ठीक से हो गया है कोई एरर नहीं है स्ल स्ट्रिंग फट डॉट आट ये मैंने चलाया कह रहा है प्लीज अपना नाम डालिए मैंने मान लीजिए इसको बोल दिया नेम प्रशांत एंटर दबाया देखिए लिखा आ गया गुड मॉर्निंग प्रशांत इसमें कोई भी दिक्कत इसको नहीं हुई अब मान लीजिए यहां को ये पासवर्ड वाली चीज होती है बड़ी छोटी चीज होती मैं इसमें जो कैरेक्टर्स हैं उनको क्या नाम क्या कर देता हूं कि यार मैक्सिमम जो नाम आएगा वो पांच कैरेक्टर का ही आ सकता है अब मैं क्या करता हूं इसको फिर से कंपाइल किया फिर से रन किया इसने फिर से बोला नाम मैं फिर से डालता हूं प्रशांत अब मैंने जैसे ही एंटर किया देखिए इसने क्या किया है मेरे जो स का साइज था वह पांच ही था बट जब हमने c को एंटर करना शुरू किया तो हमने पूरा प्रशांत अभी भी यहां पर यूज कर लिया है तो देखिए इसका मतलब हुआ क्या है हमारी एरे का साइज बड़ा हो गया यानी स्कैन ने जब स्कैन किया तो स्कैन ने तो जब तक मैंने एंटर नहीं दबाया यानी नल कैरेक्टर नहीं आया स्कैन किया और उसने उस एरे को उठाकर कहां डाल दिया है पूरी वैल्यूज को उठाकर सी में डाल दिया तो हमने जितनी वैल्यू डिक्लेयर की थी उससे ज्यादा अब हमने यहां यूज करना स्टार्ट कर दिया है जो कि गलत है तो इसलिए हमको क्या करना चाहिए देखिए यहां पर हमने नोट्स में लिखा है क्या कि आपको बेसिकली सेफ्टी के लिए टू प्रिवेंट बफर ओवरफ्लो स्कैन एफ के साथ आपको क्या देना चाहिए मैक्सिमम साइज यहां पर देना चाहिए यानी आपके मैक्सिमम जितने कैरेक्टर्स आप उठा पाएंगे उतना आपको यहां दे देना चाहिए उससे क्या करता है ये एंटर दबाते हुए उससे ज्यादा कैरेक्टर्स को एक्सेप्ट नहीं करता तो अगर मेरे यहां पांच है एक मुझे नल के लिए चाहिए अगर मैं यहां दे देता 4s है ना और फिर से इसको एक बार चलाकर देखते हैं तो मैं इसको करता हूं क्लीन इसको करते हैं कंपाइल फिर से करते हैं रन और मैं बोल देता हूं प्रशांत तो देखिए नाम क्या आया नाम सिर्फ आया पी आर ए ए उसके बाद का क्या किया इसने एंटर जब बेसिकली स्कैन कर रहा है स्कैन ने उसको ट्रंकेट्स इतना ही सपोर्ट करता हूं तो आप जो भी अपना साइज डिक्लेयर कर रहे हैं आपको इनपुट करते हुए परसेंटाइल और एस के बीच में वो साइज दे देना चाहिए एक हटाकर किसके लिए बै स् 0 के लिए ताकि आप ओवर यूज उसको ना करें तो सेफ्टी वाला पॉइंट हमको समझ आ गया ये हमने समझ लिया कि हमको n परसन नहीं लगाना है स्न एफ के साथ क्यों क्योंकि ये ऑलरेडी क्या है ये ऑलरेडी एक पॉइंटर है दूसरा इनपुट करते हुए परसेंटाइल ए हमको स्कैन एफ में यूज़ करना है और आउटपुट करते हुए परसेंटाइल ए हमको प्रिंट एफ में यूज़ करना है अब एक एग्जांपल जो हमने यहां दिखाया उसको मैं फिर से आपको दिखाता हूं क्या मान लीजिए मैं इसको कर देता हूं वापस 50 है ना कि नाम मेरा काफी बड़ा हो सकता है अब मैं फिर से इसको कंपाइल करता हूं एक बार कंपाइल मैंने कर लिया फिर से आपको रन करता हूं और एक डिफरेंस यहां पर दिखाता हूं क्या जब मैं बोल रहा हूं प्लीज एंटर योर नेम मान लीजिए मैंने अपना पूरा नाम डाला यानी मैंने लिखा प्रशांत जैन मैंने एंटर किया अच्छा मैंने अभी भी यह चेंज नहीं किया है माफ़ कीजिएगा परसेंटाइल 4s को हमको कितना ना है 49 क्योंकि हमने साइज ऑ 50 कर दिया है फिर से इसको क्लीन करते हैं फिर से कंपाइल एंड फिर से रन इसने बोला नाम मैंने बोला प्रशांत जैन पर देखिए जो फाइनल आंसर आया उसमें क्या लिखा आया उसमें लिखा आया है गुड मॉर्निंग प्रशांत यानी इसने पहले स्पेस के बाद बाकी सबको फिर से क्या कर दिया है गायब कर दिया है ऐसा क्यों किया है इसने क्योंकि अगर आप इनपुट में देखेंगे तो स्कैनफ रीड्स अ स्ट्रिंग इन टू द कैरेक्टर एरे इट स्टॉप्स रीडिंग अपॉन एनकाउंटरिंग वाइट स्पेस न्यू लाइन और एंड ऑफ लाइन यानी इसको बैक 0 मिल जाए इसको बै n मिल जाए या इसको कोई भी तरह का वाइट स्पेस कैरेक्टर मिल जाए वाइट स्पेस मतलब चाहे वो स्पेस हो चाहे वो टैब हो चाहे वो बेसिकली कैरेज रिटर्न बोलते हैं कुछ भी अगर इस टाइप के कैरेक्टर्स इसको मिल गए तो ये स्ट्रिंग सिर्फ वहीं तक रीड करेगा यानी पहला अगर इसको वाइट स्पेस मिल गया तो ये स्ट्रिंग वहीं तक रीड करेगा तो स्कैन एफ की आप प्रॉब्लम बोल लीजिए या इसकी प्रॉपर्टी बोल लीजिए कि स्कैन एफ में आप ऐसी कोई भी स्ट्रिंग इनपुट नहीं करा सकते जिसके अंदर स्पेस एजिस्ट कर सकती है इसलिए देखिए यहां आउटपुट में हमने यहां जब इसने बोला एंटर स्ट्रिंग हम यूजर ने लिखा व्हाट इज दिस फाइनल रिजल्ट क्या आया सिर्फ व्ट आया क्योंकि यहां भी इसने पहले स्पेस के बाद क्या कर दिया ट्रंकेट्स को सॉल्व कैसे करेंगे तो इस बेसिकली ऐसे तो जब हम जितनी भी स्ट्रिंग्स लेंगे काफी सारे में स्पेसेस हो सकते हैं तो ये आउटपुट कराने के लिए तो ये परसेंटाइल्स एकदम सही है यानी ये तरीका एकदम सही है जो हम अभी तक करते आए हैं स्कैन एफ का या प्रिंट एफ का बट इनपुट कराने के लिए स्कैन एफ इज नॉट द बेस्ट वे टू टेक स्ट्रिंग्स उसके लिए बेस्ट तरीका क्या है बेस्ट तरीका है जो हमने आगे बताया है व्हिच इज एफ गेट्स एंड पुट्स ये दो फंक्शन है जो आप इस्तेमाल कर सकते हैं सबसे पहले इनका यूसेज देखते हैं फिर आएंगे वापस यहां देखने के लिए है ना तो यहां आ जाते हैं स्ट्रिंग फॉर्मेट हमारा हो गया है अब यहां एक नया फाइल बना लेते हैं क्या स्ट्रिंग मान लीजिए इसका नाम मैं रख देता हूं इनपुट स्ट्रिंग इनपुट ड स ठीक है इसको हम करते हैं बंद फिर से क्या करेंगे श इंक्लूड एडी ए और हम लगाएंगे अपना इंट मेन एंड रिटर्न रो है ना इंट मेन मैंने लिख लिया है अब देखिए हम क्या बोल रहे हैं यहां हमारा मेथड अगर हम देखेंगे तो मेथड क्या है आप पहले मान लीजिए हमने फिर से हमको एक नाम एंटर कराना है नाम हमने लिख लिया कैसे एंटर कराना है ये हमने लिख लिया सबसे पहले देखते हैं कि एफ गेट्स जो हमको देखना है यानी हम यहां क्या बोल रहे हैं दो मेथड्स हैं जो आप यूज़ कर सकते हैं एफ गेट्स और पुट्स देखिए बहुत सारे स्टडी मटेरियल बहुत सारी पुरानी बुक्स में आपको अभी भी गेट्स और पुट्स का यूज करने के लिए मिलेगा और देखिए गेट्स फंक्शन जो है उसको काफी समय हो गया है c11 जो वर्जन आया था तब से जो एफ गेट्स है वो सॉरी जो गेट्स गेट्स फंक्शन है वो डिप्री केटेड है उसको इस्तेमाल नहीं करना इसलिए हमने नोट्स में भी यहां क्या लिखा है अगर आप गेट्स को यूज करते हैं दिस इज अनसेफ डू नॉट यूज दिस इन प्रोडक्शन कोड बट हम आपको यूज एक बार फिर भी एनीवे सबका करके दिखाते हैं तो मान लीजिए मैं करता हूं कैरेक्टर नेम एंड मान लीजिए इसको मैंने दे दिया 50 जो हमने पहले दिया हुआ था इस बार सी की जगह इसका नाम हम 50 ही कर देते हैं आप बोलेंगे प्रिंट एफ प्लीज एंटर योर नेम है ना यह हमने लिख दिया जो पर्सन है जो भी बेसिकली यूजर है वो नाम एंटर करने वाला है स्कैन एफ की जगह आप क्या कर सकते हैं आप डायरेक्टली लिख सकते हैं गेट एस गेट एस मतलब देखिए गेट्स नहीं है ये एक्चुअली इसको प्रोनाउंस कैसे किया जाता है दिस इज गेट एस गेट एस मतलब गेट स्ट्रिंग है ना तो ये गेट एस है इसके अंदर आप क्या लिखेंगे डायरेक्टली आप लिख देंगे नेम कि भाई एक स्ट्रिंग लेकर आओ गेट एस जो बेसिकली गेट अ स्ट्रिंग और उसको कहां सेव कर दो नेम के अंदर सेव कर दो ये बस इस स्ट्रिंग को उठाकर नेम के अंदर सेव कर देगा इसके अलावा आपको कोई परसेंटाइल एस कोई बेसिकली कुछ भी इसके अलावा देने की जरूरत नहीं है इससे य आपका काम हो जाएगा तो अगर मैं य आपको प्रिंट करके दिखाऊं तो बोलता हूं प्रिंट एफ क्या होगा हमको किस तरह से प्रिंट तो अभी भी हम ऐसे ही कर रहे हैं परसेंटाइल एस और मैं क्या दे दूंगा नेम कि भैया नेम हम वापस इनका प्रिंट कर दे परसेंटाइल ए से पहले कर देता हूं गुड मॉर्निंग है ना एक बार पहले इतने को हम चला करर देखते हैं तो मैं क्या करूंगा इसको करेंगे कंपाइल कैसे करेंगे जीसीसी स्ट्रिंग इनपुट स्ट्रिंग इनपुट ड सी माइनस ओ और हमको क्या करना है स्ट्रिंग को इनपुट कराना है अ माफ कीजिएगा नाम कराना है स्ट्रिंग इनपुट डॉट आउट देखिए क्या बोल रहा है जैसे ही मैंने इसको कंपाइल किया यह कंपाइलर भी बोलने लग गया है क्या गेट s इज डिप्री केटेड दिस फंक्शन इज प्रोवाइडेड फॉर कंपैटिबिलिटी रीजंस ओनली यह कह रहा है कि गेटस जो है वो डिप्र केटेड है हम इसका यूज़ आपको इसलिए करने दे रहे हैं कि आपका कोड कहीं पुराना लिखा हुआ तो नहीं है कि नए वर्जन के साथ साथ आपको पुराना कोड ही एडिट करना पड़ जाए बट इट इज हाईली रेकमेंडेड दैट यू यूज़ एफ गेट्स यानी गेट्स आपको यूज नहीं करना है हम फिर भी इसका यूज करके देख रहे हैं बट आपको भी अपने जब कोड लिख रहे हैं प्रोजेक्ट लिख रहे हैं कुछ भी लिख रहे हैं तो गेट एस का यूज नहीं करना है देखिए कितनी सारी वॉर्डिंग्स इतने इसने जनरेट कर दी है फिलहाल मैं इसको चला कर देखता हूं स्ट्रिंग इनपुट डॉट आउट मैंने इसको चलाया ये देखिए फिर से चलाते हुए फिर इसने वार्निंग दिया दिस प्रोग्राम यूज यूस गेट एस व्हिच इज अनसेफ यानी अनसेफ है अनसेफ क्यों है यह भी अभी हम समझेंगे पर इसने बोला नाम एंटर करिए मैंने बोला देखिए अपना नाम ही टाइप नहीं हो रहा है प्रशांत जैन एंटर किया देखिए लिखा गया गुड मॉर्निंग प्रशांत जैन यानी इसके साथ जो हमारी स्कैनफ वाली प्रॉब्लम थी वो एजिस्ट नहीं करती है स्पेस हो कुछ भी हो जब तक एंटर आप नहीं दबाए पूरे को ये गेट एस रीड कर लेगा अब वापस आते हैं और देखते हैं इसमें एक्चुअली प्रॉब्लम है क्या देखिए गेट एस जब आप करते हैं तो जो हम परस स्कैनफ में कर पा रहे थे यानी वहां मैंने बोल दिया था परसेंटाइल 49 और उसके बाद लिखा था s वो काम यहां पुट एस में बेसिकली गेट एस में नहीं कर सकते जिसकी वजह से हो जाता है अनसेफ है ना तो इस इस बीच हम देखते हैं एक बार पुट एस का यूज यानी अगर हम पुट एस देखेंगे तो ये जो मैंने प्रिंट एफ किया है इसको आप किस तरह से कर सकते हैं पुट से भी कर सकते हैं तो मैं गुड मॉर्निंग परसेंटाइल s इसकी जगह अगर मान लीजिए आपको वेरिएबल डायरेक्टली दिखाना है तो मैं क्या करता हूं मान लीजिए इसको मैं हटा देता हूं गुड मॉर्निंग स्पेस डालकर इसको छोड़ देते हैं मैं डायरेक्टली क्या कर सकता हूं मैं बोल सकता हूं पुट्स नेम यानी मेरी स्ट्रिंग को आप डायरेक्टली ले जाकर स्क्रीन पर दिखा दीजिए जो आप प्रिंट एफ भी कर रहे थे पुराना उसको भी हम क्या कर सकते हैं पुट्स कर सकते हैं ये जो स्ट्रिंग कर रहे थे उसको भी क्या कर सकते हैं पुट्स कर सकते हैं तो एक बार मैं फिर से उसको कंपाइल करके देखता हूं कंपाइल मैंने किया फिर से बहुत सारी वार्निंग जनरेट हो गई कोई बात नहीं इसको फिर से रन करते हैं मैं बोलूंगा प्रशांत देखिए क्या हुआ जैसे ही लिखा गया गुड मॉर्निंग प्रशांत अब एक ये अलग-अलग लाइन में क्यों आया है ये अलग-अलग लाइन में इसलिए आया है कि पुट एस जो है वो एक बैक स्लैश एन लाइन के एंड में अपने आप ही डाल देता है यानी अगर आप जो भी प्रिंट करेंगे उसके बाद एक नेक्स्ट लाइन अपने आप आ जाएगा इसलिए देखिए प्लीज एंटर योर नेम के बाद भी अपने आप एक नेक्स्ट लाइन आ गया था जब मैंने नाम डाला तो वो यहां पर आया तो इसलिए जहां पर हमको नेक्स्ट लाइन नहीं चाहिए वहां हमको क्या यूज करना चाहिए स्टिल प्रिंट एफ ही यूज करना चाहिए ठीक है तो हमको गेट का यूज समझ आ गया गेट्स का यूज समझ आ गया पुट्स का यूज समझ आ गया अब देखते हैं एफ गेट्स जो एक्चुअली रिकमेंडेटरी निकनेम ठीक है आपका जो भी घर पर आपको लोग बुलाते हैं आपका जो भी निकनेम है वो आप यहां पर लिखिए अब मैं क्या करूंगा गेटस की जगह क्या क्या यूज करूंगा एफ गेट्स अब देखिए एफ गेट्स का मतलब क्या है एफ गेट्स का एक्चुअली मतलब होता है फाइल गेट्स यानी ये जो रीडिंग स्टेटमेंट है ये हम बाद में अभी जब लास्ट चैप्टर में फाइल इनपुट आउटपुट पढ़ेंगे आप इसे उसके लिए भी यूज कर सकते हैं आप इसे कंसोल यानी जो टर्मिनल है हमारा उसके लिए भी यूज कर सकते हैं तो इसमें आपको क्या-क्या देना है इसमें आपको देना है नाम जो आप बेसिकली जिस भी वेरिएबल में जिस भी एरे में कैरेक्टर एरे में आपको स्टोर करना है उसका टोटल साइज साइज क्यों देना है क्योंकि साइज का ही तो प्रॉब्लम था साइज से ये क्या करेगा उस साइज से बड़ा इनपुट एक्सेप्ट नहीं करेगा उस साइज से बड़ा इनपुट होगा तो उसको इग्नोर कर देगा बाकी को और आपको उतना साइज वाला ही देगा देखिए सारी प्रॉब्लम क्यों हो रही है सारी प्रॉब्लम इसलिए हो रही है क्योंकि सी में एरे का साइज बताने का कोई तरीका नहीं है तो हम जब इसको एटीआर पास करते हैं तो इसको नहीं पता कि एटीआर कितना बड़ा है तो इसलिए उसको साइज साथ में पास करना पड़ रहा है और तीसरा क्या है एसटी एटीडीआई जो हम बोल रहे हैं कि भाई ये बोल रहा है ये गेट करना है स्ट्रिंग ये करना कहां से है तो यहां स्टैंडर्ड इनपुट बोल रहे हैं इसको एसटीडी आई एन का क्या मतलब है स्टैंडर्ड इनपुट यानी जो टर्मिनल है वहीं से आपको इसको रीड करना है तो मैं यहां क्या दे दूंगा इसको इसको देंगे नेम है ना साइज देना है आप साइज ऑफ भी यूज कर सकते हैं आप यहां पर डायरेक्टली 50 भी लिख सकते हैं मैं मान लीजिए साइज ऑफ यूज़ कर लेता हूं मैं लिखता हूं साइज ऑफ नेम एंड देन ये रीड कहां से करना है एसटीडी आई ए से यानी स्टैंडर्ड इनपुट से आपको रीड करना है और बाद में मैं क्या करता हूं बस इनका जो भी नाम है वो डायरेक्ट डायरेक्टली नाम दोबारा से प्रिंट करा देते हैं है ना जो भी निकनेम है मैंने अलग से इसके लिए कोई वेरिएबल भी नहीं बनाया पहले उसी वेरिएबल में हमने नाम लिखा रखा उसी में फिर इसका निकनेम भी रख रहे हैं फिर से मैं इसको करता हूं ये एक काम करते हैं फिलहाल ये जो हमने पहले लिखा था गेटस वाला इसको हम कर देते हैं कमेंट क्योंकि इससे क्या होगा और ये जो गुड मॉर्निंग हमने लिखा था इसको हम लिख देते हैं नीचे क इससे क्या होगा हमारा जो वॉर्निंग जनरेट हो रहा है वो हमारा बंद हो जाएगा है ना तो हमको एक्चुअली क्या करना है हमको तो एफ गेट्स का और पुट्स का ही यूज देखना था गेट्स तो हमने बस एक बार देखने के लिए क्योंकि पहले से लोग इसको इस्तेमाल करते हैं बट आईडियली हमको इसको यूज़ नहीं करना है इसको फिर से कंपाइल करते हैं देखिए इस बार कोई भी वार्निंग नहीं आई है क्योंकि हमने गेटस को क्या कर दिया है गेटस का यूज़ बंद कर दिया है उसको हमने कर दिया है कॉमेंट तो ये हो गया है कंपाइल फिर से इसको करते हैं रन ये बोल रहा है प्लीज एंटर योर निक नेम मान लीजिए मेरा जो निक नेम है मैं वो एंटर कर देता हूं व्हिच इज गोलू गोलू मैंने एंटर दबाया देखिए क्या हुआ पहले ये जो पुट एस है इसने गोलू यहां डायरेक्टली आउटपुट करा दिया फिर हमने बोला प्रिंट एफ एंड यहां फिर से आ गया गोलू तो एक को हम हटा देते हैं यहां से है ना तो ताकि लिखा आ जाए बस गुड मॉर्निंग गोलू तो आपको एफ गेट्स भी समझ आ गया पुट्स भी समझ आ गया क्यों हम इनका यूज कर रहे हैं वापस आते हैं रिमाइंड करते हैं हम इनका यूज इसलिए कर रहे हैं क्योंकि स्कैन एफ में प्रॉब्लम थी कि वो बेसिकली अ जो जो भी वाइट स्पेसेस हैं उनको एंटर नहीं करा सकता है तो इसका एक छोटा सा हमने समरी यहां पर लिखा है क्या एफ गेट्स किस लिए यूज होता है सेफ इनपुट दिस कैन रीड अ स्ट्रिंग फ्रॉम अ फाइल और एसटीडी आई ए सेफली इनटू अ बफर बफर मतलब आपने जो भी बेसिकली इसको कैरेक्टर एरे दिया है वो आपको चाहे फाइल से रीड करना हो चाहे आपको स्टैंडर्ड इनपुट से रीड करना हो यानी टर्मिनल से रीड करना हो उसके लिए आप एफ गेट्स को यूज कर सकते हैं फाइल में यूज़ कैसे करेंगे वो हम लास्ट चैप्टर में देखेंगे यह बेसिकली लेंथ लिमिट्स को सपोर्ट करता है और यह न्यू लाइन को भी इंक्लूड करता है पुट्स क्या है पुट्स सिंपली बेसिकली स्ट्रिंग को आउटपुट पर स्टैंडर्ड आउटपुट पर दिखाने के लिए एक मेथड है इसमें कोई फॉर्मेट स्पेसिफाई जरूरत नहीं है है ना पुट एस में भी हम कोई परसेंटाइल लेस वगैरह नहीं लिख रहे डायरेक्टली इसके अंदर स्ट्रिंग डालते हैं वो शो हो जाती है और गेट्स जो कि नॉट रेकमेंडेड है ये अनसेफ इनपुट है बफर ओवरफ्लो हो सकता है और यह ऑलरेडी डिप्री केट हो गया है c11 स्टैंडर्ड में ठीक है तो यहां पर हमने समझ लिया कि f गेट्स और f को हमको कैसे यूज करना है नेक्स्ट पॉइंट पर आ जाते हैं दोस्तों नेक्स्ट पॉइंट क्या है अगेन देखिए जब एरे का और पॉइंट्स का रिश्ता है तो जो एरे का भाई है व्हिच इज स्ट्रिंग तो स्ट्रिंग का और पॉइंट्स का भी रिश्ता होगा तो वही रिश्ता हम यहां पर एक बार देखना चाह रहे हैं क्या देखिए अगर मैंने यहां पर मान लीजिए एक स्ट्रिंग डिक्लेयर की है व्हिच इज एस टी आर आई एनजी तो उसमें क्या होगा स्ट्रिंग होगा बाद में बै स्ल 0 होगा जैसा कि मैंने एक्सप्लेन किया था क्योंकि ये एक नॉर्मल पॉइंटर है एटीआर यहां पर किसको पॉइंट कर रहा होगा जो पॉइंटर है वो बस पहले वाले एड्रेस को पॉइंट कर रहा होगा देखिए पॉइंटर का अपना भी कोई एड्रेस होगा पर पॉइंटर क्या करता है किसी और का एड्रेस लेता है तो स्ट्रिंग का एस इसने पकड़ा और उसका एड्रेस अपने पास रख लिया तो स्ट्रिंग कैन बी रिप्रेजेंटेड एज अ पॉइंटर टू इट्स फर्स्ट कैरेक्टर यानी स्ट्रिंग को बेसिकली अ रिप्रेजेंट करने के दो तरीके हैं अभी तक हम जब स्ट्रिंग डिक्लेयर कर रहे थे तो इस तरह से कर रहे थे यानी कैरेक्टर एटीआर बेसिकली दो ब्रैकेट्स और उसके बाद स्ट्रिंग बट ये क्या बोलता है जैसे आप एरे को स्टार करके लिख सकते थे इसी तरह आप स्ट्रिंग को भी कैसे लिख सकते हैं कैरेक्टर स्टार एसआर इ इक्व टू हेलो मेक्स दिस पॉइंटर टू द फर्स्ट कैरेक्टर टू द स्ट्रिंग लिटरल हेलो तो यानी इसका भी सेम इफेक्ट होने वाला है क्या इसका हम एक और नया फाइल बना लेते हैं इसका नाम रख देते हैं पॉइंटर माफ कीजिएगा पॉइंटर में अब हम क्या दिखाएंगे हैश इंक्लूड एड ए इंट मेन ये क्या बोल रहा है अब यहां अगर आपको स्ट्रिंग डिक्लेयर करना है तो एक तरीका तो यह था जैसे मान लीजिए हम नेम को डिक्लेयर करते हैं तो हम ऐसे डिक्लेयर कर कर रहे थे है ना अभी तक हमने ऐसे डिक्लेयर किया था इसका दूसरा तरीका क्या है इसको इस तरह से डिक्लेयर करने का ये बोल रहा है कि आप बोलिए भाई राइट में तो आप स्ट्रिंग एरे बनाइए कैरेक्टर एरे बनाइए सॉरी पर आप क्या करिए उसका जो एड्रेस है वो उठाकर कहां डाल दीजिए मेरा कैरेक्टर पॉइंटर में डाल दीजिए यानी नेम को आप एज अ पॉइंटर भी डिक्लेयर कर सकते हैं आई थिंक ये बात अंडरस्टूड है हम बेसिकली सेम चीज एरे में भी पढ़कर आए थे सेम चीज ही हम यहां पर भी बोल रहे हैं है ना इसका बेसिकली इफेक्ट क्या है साइड इफेक्ट क्या है दो आपको चीजें जो समझनी है वो ये कि देखिए दो तरीके हुए है ना स्ट्रिंग को दिखाने के एक तरीका तो हुआ जो हम पहले पढ़कर आए थे इसमें आप क्या कर सकते हैं बीच में से किसी भी चीज को मॉडिफाई कर सकते हैं पर अगर आप इसको एज अ स्ट्रिंग लिटर बेसिकली स्ट्रिंग पॉइंटर सॉरी कैरेक्टर पॉइंटर आप बनाते हैं और आप इसको मॉडिफाई करने की कोशिश करते हैं तो क्या होता है एरर आ जाती है इसको हम एक बार चलाकर देखते हैं ऐसे कैसे एरर आ जाएगी है ना तो मान लीजिए हम करते हैं नेम हमने नेम बना लिया अब मान लीजिए मैं क्या चाहता हूं मैं चाहता हूं ये जो जे है ये स्मॉल हो हो जाए तो मैं क्या करूंगा मैं बोलूंगा नेम कौन से वाला कैरेक्टर है देखिए रो p क्या होगा 0 r 1 2 3 4 5 6 7 एट होगा स्पेस नाइन होगा ज तो मैं बोलता हूं नेम नाइन को आप क्या करिए नेम क्या है कैरेक्टर एरे है उसमें कैरेक्टर आप चेंज कर दीजिए उसका नाम कर दीजिए जे है ना और उसके बाद हम इसको क्या करते हैं पुट एस करके डायरेक्टली बस नेम को शो कर देते हैं है ना इससे ये पता चल जाएगा कि क्या ये मॉडिफाई होकर ठीक से दिख रहा है और यह चेंज करने से पहले भी एक बार क्या कर देते हैं इसको चेंज को जो है यहां पर दिखा देते हैं तो नेम को इससे पहले भी एक बार कर देते हैं आउटपुट ठीक है एक्चुअली हमको आउटपुट में क्लियर दिखे चीजें हम यहां क्या करते हैं इसको कर देते हैं प्रिंट एफ और यहां पूरा एक स्ट्रिंग हम बना देते हैं क्या बिफोर मॉडिफाइड यह क्या है एरे एरे अ हां एरे बिफोर मॉडिफाइड क्या करेंगे जब हमने यूज कर लिया है उसके बाद इसको कर देते हैं आफ्टर मॉडिफाइड करने से पहले क्या था चेंज करने के बाद क्या है और कौन से वाला रिप्रेजेंटेशन है एरे वाला रिप्रेजेंटेशन यह है इसको करते हैं कंपाइल जीसीसी पॉड स - o पॉइंटर डॉट आउट कोई एरर नहीं आई डॉट स्ल पॉइंटर डॉट आउट चलाया देखिए क्या लिखा आया बिफोर मोडिफाइंग हम इसमें बै n लगाना भूल गए ब यहां पर एंड में लगा देते हैं दोनों के है ना पर फिर भी क्या लिखाया एरे बिफोर मोडिफाइंग प्रशांत जैन एरे आफ्टर मोडिफाइंग प्रशांत जैन बट जे हो गया है मेरा स्मल एक बार आपको इसको क्लियर करके दिखा देता हूं दोबारा से देखिए क्या आया बिफोर मोडिफाइंग प्रशांत जैन जे कैपिटल आफ्टर मोडिफाइंग प्रशांत जैन जे स्मॉल यानी जब मैं इस तरह से इसको रिप्रेजेंट करता हूं तो मॉडिफिकेशन जो है वो अलाउड होता है अब पूरे को हम क्या करते हैं दोबारा रिपीट कर लेते हैं और इस बार क्या करेंगे बस नेम की जगह मैं क्या कर देता हूं मान लीजिए इसका नाम मैं कर देता हूं निकनेम और एरे बेसिकली दिखाने के बजाय हम इसको बोलते हैं कि भाई आप इसको बना दीजिए कैरेक्टर पॉइंटर है ना शो करने के लिए हम सेम निकनेम निकनेम कर देंगे और एरे की जगह हम कर देते हैं यहां पर पॉइंटर भाई जब हमने पॉइंटर की तरह रखा है तो यहां पर क्या होगा और यहां नेम की जगह भी क्या कर देंगे निकनेम कर देंगे ठीक है सेम चीज हमने बाकी पूरा किया है सेम स्ट्रिंग हम यूज कर रहे हैं सब कुछ यहां पर सेम है है ना इसको एक बार चलाकर देखते हैं इसको क्लीन करते हैं इसको करते कंपाइल उसको करते हैं रन देखिए जैसे ही हमने किया बिफोर मॉडिफाइड मॉडिफाइड पॉइंटर का बिफोर मोडिफाइंग आया प्रशांत जैन बट जैसे ही मैंने एडिट करने की कोशिश की तो क्या आया z एसए z एसए बस एरर पॉइंटर डॉट आउट यानी पॉइंटर डॉट आउट में यहां पर कोई एरर हो गई है इसका मतलब क्या है जब भी आप कैरेक्टर एरे की तरह इसको स्टोर करेंगे तो आप इंटरनली चीजों को चेंज कर सकते हैं एक-एक एलिमेंट पर जाकर बट अगर आपने इसको कैरेक्टर पॉइंटर की तरह डिक्लेयर किया है तो बेसिकली मॉडिफिकेशन अलाउड नहीं है यही आपके यहां नोट्स में लिखा हुआ है क्या व्हेन एन एरे नेम इज कांस्टेंट पॉइंटर टू इट्स फर्स्ट एलिमेंट अ कैरेक्टर एरे अलाउ मॉडिफिकेशन ये हमने देख लिया पहले वाले पॉइंट में बट अदर वाइज ये क्या है इमू बल स्ट्रिंग लिटरल है यानी जावा वावा की तरह जावा और बाकी लैंग्वेजेस की तरह क्या हो जाती है ये भी इ मूटे बल हो जाती है स्ट्रिंग लिटरल्स असाइन टू कैरेक्टर पॉइंट्स आर स्टोर्ड इन रीड ओनली मेमोरी ये रीड ओनली मेमोरी रीड ओनली मेरी मतलब जिसमें सिर्फ रीड किया जा सकता है राइट नहीं किया जा सकता मेकिंग देम इमू बल अटेम्प्टिंग टू ट मॉडिफाई देम इस तरह से अगर आप कोई बेसिकली इंडिविजुअल कैरेक्टर्स का मॉडिफाई करेंगे दिस विल लीड टू अनडिफाइंड बिहेवियर और एरर्स ठीक है तो ये आपको पॉइंटर स्ट्रिंग में बस यही समझना है बाकी सब कुछ एरे जैसा ही है ओनली डिफरेंसेस विद स्ट्रिंग्स अगर आप कैरेक्टर पॉइंटर यूज़ करते हैं राद दन कैरेक्टर एरे तो आप इंडिविजुअली चीजों को मॉडिफाई नहीं कर पाएंगे दिस विल बी ट्रीटेड एज एन इमू बल एरे ठीक बात है चलिए चलते हैं हमारे नेक्स्ट टॉपिक की तरफ अब नेक्स्ट टॉपिक क्या है देखिए नेक्स्ट टॉपिक अब थोड़ा सा इंपॉर्टेंट हो जाता है थोड़ा सा अलग हो जाता है यूज करना आसान अब देखेंगे हम हम देखने वाले हैं स्ट्रिंग ड ए फाइल को यानी एक नई फाइल का हमको इस्तेमाल करना है और इसके हम चार मेन फंक्शंस को देखेंगे कौन-कौन से सबसे पहला तो है एसटीटीआर एल एन यानी इसका मतलब क्या है एटीआर एलन का मतलब एसटीटीआर है एटीआर स्टैंड फॉर स्ट्रिंग एंड एलियन स्टैंड्स फॉर लेंथ यानी स्ट्रिंग लेंथ जो है वो ये मेथड जो है ये आपको कैलकुलेट करके देगा तो पहले इसको यूज करते हैं फिर वापस आकर आपके नोट्स भी देखेंगे और देखेंगे किस तरह से यह काम करता है ठीक है तो वापस आ जाते हैं पॉइंटर को करते हैं बंद और यहां एक नया स्टार्ट करते हैं नया फाइल जिसका नाम क्या होगा स्ड सी है ना तो इसमें हमको क्या करना है एक स्ट्रिंग की लेंथ हमको फाइंड करने की कोशिश करनी है तो इसको बोलते हैं है इंक्लूड एडी ए और पहली बार एक नई हेडर फाइल एक और हेडर फाइल हम इंक्लूड करेंगे जिसका नाम क्या है स्ट्रिंग ड h जहां पर ये हमको मेथड जो है वो मिलने वाले हैं स्ट्रिंग वाले बाकी हमारा सेम रहेगा इंट में मान लीजिए स्ट्रिंग को हम क्या करते हैं पहले यूजर से इनपुट करा लेते हैं जो जो हमने नेम इनपुट कराया चलिए वही करा लेते हैं तो मैं बोलता हूं कैरेक्टर नेम मैक्सिमम होगा 50 कैरेक्टर्स का और यहां इसको बोलते हैं कि भै आप जो नेम है वो इनपुट करा लीजिए तो हम बोलते हैं प्रिंट एफ माफ कीजिएगा प्लीज एंटर योर नेम स्पेस दे दिया इनपुट कैसे करेंगे एफ गेट से इनपुट कर लेते हैं एफ गेट्स में हमको क्या-क्या देना होता है पहले देंगे नेम फिर देंगे उसका मैक्सिमम साइज जो मान लीजिए है 50 उसके बाद देंगे कहां से करना है तो मैं बोलूंगा स्टैंडर्ड इन से ठीक है हमने नाम को जो है वो इनपुट करा लिया मान लीजिए मुझे इस नाम का साइज प्रिंट करना है कि आपके नाम का नाम का एक्चुअली साइज है क्या तो हम कर सकते हैं इंट साइज देखिए फंक्शन क्या है ये एक इंटी जर रिटर्न करता है फंक्शन क्या है एसटी आर एल इ ए स्ट्रिंग लेंथ के अंदर आप जो भी स्ट्रिंग देंगे नेम उसकी लेंथ आ जाएगी आप कह सकते हैं सर नेम की लेंथ तो हमको पहले ही पता है 50 हमने ही तो डिक्लेयर किया देखिए 50 हमने मैक्सिमम लेंथ डिक्लेयर किया है जो एक्चुअल स्ट्रिंग आई है उसमें बैक स्ल 0 कहां पर है एटीआर ए एल वो फाइंड करता है तो एक बार इसको प्रिंट करने की कोशिश करते हैं क्या करेंगे प्रिंट एफ द साइज ऑफ योर नेम इज या इसको लेंथ ही बोल देते हैं साइज की जगह द लेंथ ऑफ योर नेम इज परसेंटाइल डी एक इंटी जर है इसको बोल देते हैं साइज अब इसको हम देखते हैं चलाकर क्या करेंगे इसको करेंगे कंपाइल जीसीसी एटीआर एलीन आई थिंक हमने इसका लोकेशन जो है वो गलत कर दिया एसआर एन का एसटी चला गया फोल्डर के बाहर तो इसको डाल देते हैं फोल्डर के अंदर है ना अब फोल्डर के अंदर आ गया है फिर से चेक करते हैं एसटी ए n स बिल्कुल आ गया है एक्सप्लोरर को कर देते हैं बंद एंड देन - o एटी ए एलियन डॉट आउट कंपाइलेशन एकदम सक्सेसफुल है एसआर एलियन को फिर से करते हैं माफ कीजिएगा एटीआर एलियन चलाया हमने तो एटीआर एलियन में क्या बोल रहा है प्लीज एंटर योर नेम तो मैं बोलता हूं उसको प्रशांत जैन है ना प्रशांत जैन लिख के मैंने एंटर किया तो ये बोल रहा है द लेंथ ऑफ योर नेम इज 14 कैरेक्टर्स यानी p यानी अगर हम इसको काउंट करें 1 2 3 4 5 6 7 8 उसके बाद आया एक स्पेस व्हिच इज नाइन एंड देन 10 11 12 13 कैरेक्टर कितने हैं 13 बट इसने साइज क्या रिटर्न किया 14 क्यों बिकॉज़ देयर इज वन नल कैरेक्टर आल्सो तो ये क्या कर रहा है ये टोटल का साइज आपको रिटर्न कर रहा है विद द नल कैरेक्टर तो एटीआर एलियन का क्या मतलब है वापस आकर देखते हैं एटीआर एलियन रिटर्न्स द लेंथ ऑफ द स्ट्रिंग नॉट इंक्लूडिंग द टर्मिनल नल वाइट बट ये तो नॉट इंक्लूडिंग बोल रहा है एक बार चेक कर लेते हैं हमने शायद गलत काउंट कर लिया है 14 1 2 3 4 5 6 7 8 9 10 11 12 13 आई थिंक या तो हमने जो एंटर दबाया या शुरुआत में कोई स्पेस है वो इसने काउंट कर लिया है बट एटीआर एलियन क्या करेगा आपको बिना नल कैरेक्टर काउंट करे देखिए डेफिनेशन क्या बोलती है नॉट इंक्लूडिंग द टर्मिनल नल कैरेक्टर आपको जो साइज है वो यहां पर रिटर्न कर देगा ठीक है उसके बाद आते हैं नेक्स्ट हमारा जो फंक्शन है जिसका नाम क्या है एसटीआरसी पवाई एटीआर सीपीवाई क्या करता है दोस्तों एसटीटीआर सीपीवाई स्टैंड्स फॉर सबसे पहली बात नाम क्या है इसका एटीआर मतलब स्ट्रिंग सीपीवाई मतलब कॉपी देखिए आधी चीजें तो आपको फंक्शन के नाम से ही पता चल जाती है अगर आपने एक बार नाम को ध्यान से देख लिया आपको उससे ही पता चल जाएगा कि भाई ये एक्चुअली करता क्या है तो एटीआर सीपी वाइज डज कॉपीज तो पहले डेफिनेशन देखते हैं डेफिनेशन क्या है कॉपीज द स्ट्रिंग पॉइंटेड टू बाय द सोर्स इंक्लूडिंग द टर्मिनल नल बाइट टू द डेस्टिनेशन यानी नाम को स्ट्रिंग को उठाकर सोर्स से डेस्टिनेशन में कॉपी करता है तो चलिए इसको बेसिकली चलाकर देखते हैं हमारा जो लेन वाला था इसको हम कर लेते हैं कॉपी और इसका कर देते हैं रिनेम एटीआर सीपीवाई कॉपी क्यों बना रहे हैं भाई थोड़ा सा कोड लिखना जो है वो शायद हमारा बच जाए देखते हैं तो देखिए एटीआर सीपीवाई के लिए भी हमको क्या चाहिए स्ट्रिड ए चाहिए वो यहां पहले से इंक्लूडेड है मेन नाम हमने नाम एंटर करा लिया है एफ गेट से नाम भी इनपुट हो गया है चलिए इतना हम सेम रखते हैं क्या करते हैं नाम को एक नए में कॉपी करते हैं तो मैं मान लीजिए यहां एक नई कैरेक्टर स्ट्रिंग बना लेता हूं और उसका का नाम मैं रख लेता हूं मान लीजिए न्यू नेम है ना और इसको भी हम साइज दे देते हैं 50 अब हम क्या करना चाहते हैं हम चाहते हैं कि जो नाम में मेरे जो भी नाम में पड़ा है वो कहां चला जाए न्यू नेम के अंदर भी चला जाए तो स्ट्रिंग लेंथ की जगह अब हम क्या करेंगे हम यूज कर सकते हैं एसटीआरसीपीवाई और एसटीआरसीपीवाई क्या करता है एसटीआरसीपीवाई अगर आप इस तरह करके भी देखेंगे एसटीआरसीपीवाई लेता है दो आर्गुमेंट यानी पहले ले रहा है वो डेस्टिनेशन अगर आप यहां आकर देखेंगे देखिए हमने क्या दिया है डेस्ट नेशन पहले दिया है सोर्स बाद में दिया है तो आपको पहले क्या देना है कहां कॉपी करना है तो मैं बोलूंगा न्यू नेम कहां कॉपी करना है वो पहले किसको कॉपी करना है वो बाद में यहां साइज वाइज कुछ भी देने की जरूरत नहीं है क्यों क्योंकि ये नल कैरेक्टर तक सबको उठाकर कॉपी करता है तो हम क्या कर सकते हैं दोनों बेसिकली जो स्ट्रिंग्स है उनको यहां पर प्रिंट कर देते हैं परसेंटाइल ए हैज बीन कॉपीडब्ल्यूबी एंड डेस्टिनेशन व्हिच इज न्यू नेम हम चाहते थे कि नाम जो है वो न्यू नेम में कॉपी हो जाए अब इसको बेसिकली रन करके देखते हैं तो मैं करूंगा जीसीसी एसटी स पवा स - स पवा आट कोई एरर नहीं आई कंपाइल हो गया है ड एसीप वाड आउट प कह रहा है नाम एंटर करिए मैंने बोला प्रशांत जैन देखिए क्या हुआ ये बोल रहा है प्रशांत जैन हैज बीन कॉपी टू प्रशांत जैन देखिए क्या हुआ है यहां पर एक बै स्ल ए आ गया है क्यों क्योंकि यहां प्रशांत जैन एंटर करने के बाद मैंने एंटर दबाया है वो एंटर हैज आल्सो बिकम पार्ट ऑफ स्ट्रिंग इसलिए साइज भी एक ज्यादा आ रहा था है ना बिकॉज़ एंटर हैज आल्सो बिकम द पार्ट ऑफ स्ट्रिंग तोय बोल रहा है प्रशांत जैन हैज बीन कॉपी टू प्रशांत जैन यानी इसने बै स् ए तक ब 0 तक पूरे को उठाकर न्यू नेम में भी कॉपी कर दिया है तो एसटीआरसीपीवाई ने हमारा क्या किया है जो कॉपी हमको करना था कॉपी काम इसने पूरा का पूरा कर दिया है नेक्स्ट मेथड क्या है नेक्स्ट मेथड है एसटीआरसी एटी एसटीआरसी एटी का क्या मतलब है नाम का अगर अर्थ देखेंगे एटीआर तो स्ट्रिंग के लिए स्टैंड करता है सीटी मींस कॉन्कैटिनेट कॉन्कैटिनेट का क्या मतलब है इट अपेंड्स द सोर्स स्ट्रिंग टू द डेस्टिनेशन अपेंड्स मतलब भा नए-नए वर्ड आप बोल रहे हैं हमने कहा कॉन्कैटिनेट का क्या मतलब है तो बोल रहे हैं अपेंड अरे भाई ऐसा नाम बताओ जो समझ आए कुछ नहीं है एक दूसरे को जोड़ना है चिपकाना है यानी अगर मेरे दो वर्ड्स हैं जैसे आप यहां एग्जांपल में देखेंगे एक है हेलो एक है वर्ड तो ये क्या करेगा दोनों को ऐड कर देगा और फाइनल रिजल्ट दे देगा आपको हेलो वर्ड है ना तो आपके पास दो स्ट्रिंग्स हैं आपको दोनों को ऐड करना है दोनों को जोड़ना है तो आप क्या कर सकते हैं एसटीआरसी एसटीटीआर सीटी का इस्तेमाल कर सकते हैं चलिए यहां आते हैं एसटीआरसीपीवाई की इस बार हम एक कॉपी बनाते हैं और इसका नाम क्या रखते हैं एसटी आर सी एटी ठीक है अब हम क्या करेंगे जो हमने एक नाम डिक्लेयर किया था नाम और बेसिकली न्यू नेम दोनों को हम यहां पर ले लेते हैं पहले से यह तो है मेरा नाम इसका नाम मान लीजिए मैं कर देता हूं लास्ट नेम और इसका नाम हम कर देते हैं फर्स्ट नेम है ना मान लीजिए हम यूजर से पहले फर्स्ट नेम एंटर कराएंगे फिर लास्ट नेम एंटर कर एंगे और फिर उसको कंबाइन कर देंगे तो मैंने बोल दिया फर्स्ट नेम यहां आएगा स्टैंडर्ड एन प्लीज एंटर योर इसको कर देते हैं फर्स्ट नेम अपना फर्स्ट नेम एंटर कीजिए जब वो फर्स्ट नेम एंटर कर देगा उसके बाद बोलेंगे प्लीज एंटर योर लास्ट नेम और लास्ट नेम के लिए क्या करेंगे फिर से एफ गेट्स को इस्तेमाल करेंगे पर इस बार लेंगे इनपुट लास्ट नेम तो लास्ट नेम को भी मैं डिक्लेयर कर देता हूं ऊपर ही फर्स्ट नेम लास्ट नेम और इनपुट करा लेंगे इस बार लास्ट नेम ठीक है तो फर्स्ट नेम भी इनपुट हो गया लास्ट नेम भी इनपुट हो गया हमको क्या करना है करना है कंकट करने में क्या देना है पहली स्ट्रिंग फिर दूसरी स्ट्रिंग क्या करेगा दूसरी को उठाकर पहले के अंदर ये डाल देगा तो एसटीटीआर जब मैंने बोला सॉरी एस टी आर सी ए टी हम देंगे है ना यानी कॉन्कैटिनेट करना है किसमें पहले लिखिए फर्स्ट नेम और आपको किसको करना है लास्ट नेम को भी फर्स्ट नेम में ही कर देना है है ना तो यह हो गया एटीआर सीटी अब यहां फाइनल हम क्या बोल देंगे योर फाइनल नेम इज फर्स्ट नेम फर्स्ट नेम में ही क्या किया उसने सेकंड लास्ट नेम को भी उठाकर फर्स्ट नेम में ही वो ऐड कर देगा इसको चलाकर देखते हैं जीसीसी क्या नाम है एसटी स एड सी देखिए इनमें से कोई भी काम ऐसा नहीं है जो आप खुद नहीं कर सकते ये सारे काम आप लूप वगैरह लगा के खुद भी कर सकते हैं फिर इसको क्यों यूज कर रहे हैं देखिए हेल्पर फंक्शंस हैं जो किसलिए हैं ताकि आपको सारा काम खुद से ना करना पड़े क्या बोल रहा है अच्छा देखिए खुद से इसने बता दिया कि यार आपने आर्गुमेंट तो दिया है बट परसेंटाइल एस आप लिखना भूल गए हैं तो वांडिंग से ये हेल्प हो जाती है आपकी कि हमने जो गलती थी वो यहीं पर पकड़ ली दोबारा कंपाइल किया वार्निंग जो है वह चली गई है फिर से डॉट स्ल लगाकर चलाते हैं क्या एसटी आर सीड आउट इसने बोला प्लीज एंटर योर फर्स्ट नेम मैंने बोला प्रशांत प्लीज एंटर योर लास्ट नेम जेन क्या बोला इसने योर फाइनल नेम इज प्रशांत जैन और ये नेक्स्ट लाइन में क्यों आया अगेन क्योंकि प्रशांत के बाद हमने एंटर दबाया था तो एंटर इसने ले लिया और जैन आ गया है यहां पर ठीक बात है तो क्या क्या मिल गया हमको एफ गेट्स में बेसिकली प्रॉब्लम होती है कि आपको बै स्ल एब इसमें मिल रहा है आप चाहे तो उसको एंड से हटा सकते हैं तो एफ गेट से हमको मिला फर्स्ट नेम लास्ट नेम और हमने एटीआर सीटी का मेन जो भी हम यूज़ देख रहे थे वो क्या किया इसने दोनों को ही फर्स्ट नेम में डाल दिया तो फाइनली जब मैंने इसको प्रिंट किया तो फर्स्ट नेम में ही प्रशांत एंड जैन दोनों यहां पर प्रिंट हो रहे हैं ठीक बात है अगले मेथड की तरफ चलते हैं हमारा अगला और लास्ट मेथड क्या है एसटीआरसीएमपी फिर से नाम देखते हैं नाम क्या है एटीआर सीएमपी सीएमपी का क्या मतलब है सीएमपी का मतलब है कंपैरिजन तो दिस कंपेयर्स टू स्ट्रिंग लेक्सियो ग्राफिकली एंड रिटर्न्स एन इंटी जर बेस्ड ऑन द कंपेरिजन अब ये लेक्सियो ग्राफिकली का क्या मतलब है यार जैसे डिक्शनरी होती है ना ये उस तरह से इनको कंपेयर करता है तो यहां देखिए दो चीजों को हम यहां कंपेयर कर रहे हैं कंपैरिजन का रिजल्ट आता है उसको हम यहां पर प्रिंट करते हैं तो हम भी जरा इस तरह का एक बनाकर देखते हैं जो हमारा सेम प्रोग्राम है फिर चलाकर देखेंगे कि एसटीआरसीएमपी का मतलब एक्चुअली है क्या तो एटीआर सीटी आया इसको किया कॉपी पेस्ट इसका रिनेम करके कर देते हैं एसटीटीआर सीएम प एसआर सीएमपी में शायद फर्स्ट नेम लास्ट नेम वाला जो अ एग्जांपल है वो बहुत अच्छा नहीं लगेगा तो बाकी सब चीजों को हम यहां से फिलहाल हटा देते हैं और यहां कर देते हैं रिटर्न ज़ीरो ओनली चीज जो हम इसकी यूज़ करने वाले हैं वो क्या है स्ट्रिंग ड h का यूसेज ठीक है स्ट्रिंग कंपैरिजन देखिए दो स्ट्रिंग को अगर आपको कंपेयर करना है तो एसआर सीएमपी में आपको मिलता है तो वही हम भी यहां पर करके देखते हैं क्या इंट कंपैरिजन रिजल्ट रिजल्ट क्या है रिजल्ट एक इंटी जर में दे रहा है और हमको यूज़ क्या करना है एटीआर सीएमपी तो क्या बोल रहा है एटीआर सीएमपी में आप दो स्ट्रिंग दीजिए हमने एग्जांपल में क्या स्ट्रिंग दी है मान लीजिए एप्पल एंड बनाना ठीक है दो हमने स्ट्रिंग दी अब इनका रिजल्ट जो प्रिंट कर देते हैं प्रिंट एफ कंपैरिजन ऑफ एप्पल एंड स्मल में इनको लिख देते हैं जैसे हमने पास किया है एप्पल एंड बनाना इज परसेंटाइल डी यहां क्या देते हैं कप रिजल्ट ठीक है या इसका नाम छोटा करके सिर्फ रिजल्ट रख देता हूं मैं ताकि हम इसको आराम से सिंगल लाइन में लिखकर दिखा सके ठीक है ये हो गया रिजल्ट एक बार इसको चलाकर देख लेते हैं हम कैसे कंपाइल करेंगे जीसीसी एसटी आर सीएमपी कीजिएगा एटी सपीड स एटीआर सीएमपी डट आउट माफ कीजिएगा सिर्फ ओयू शायद मैंने लिख दिया है यस तो इसको कर लेते हैं एमवी एसटी आर सी ए पड ओय मैं बस इसको रिनेम कर रहा हूं डॉट आउट ठीक है फिर से अब इसको चलाकर देखते हैं डॉ एसी एड आ तो देखिए क्या हुआ इसने बोला कंपैरिजन ऑफ एप्ल एंड बनाना इज -1 देखिए क्या कर रहा है यह देख रहा है डिक्शनरी में कौन पहले आ रहा है तो क्योंकि एप्ल और बनाना में ये ए से स्टार्ट होता है ये बी से स्टार्ट होता है तो रिजल्ट आ गया -1 दूसरा एग्जांपल हमने क्या दिया है चेरी और बनाना का लिया देखिए में क्या है सी बाद में आ रहा है b पहले आ रहा है तो एक बार इसका भी रिजल्ट देख लेते हैं देखिए यहां भी इसी तरह से आएगा इस पूरे को मैं कर लेता हूं कॉपी फिर से पेस्ट करता हूं देखिए गड़बड़ क्या की मैंने रिजल्ट को मैंने दोबारा डिक्लेयर कर दिया सेम में सेम स्कोप में सेम वेरिएबल को दोबारा डिक्लेयर नहीं कर सकते इस बार मैं इसको बिना डिक्लेयर करे यूज कर लेता हूं एल की जगह क्या यूज कर लिया हमने चरी यूज कर लिया बेसिकली एनीथिंग स्टार्टिंग विद सी कुछ भी हो जो सी से स्टार्ट हो रहा हो अगर ये दोनों लेटर सेम होंगे मान लीजिए पहला पहला लेटर सेम है तो ये अगले को कंपेयर करेगा कि उनमें डिक्शनरी में पहले कौन सा आता है ये लीजिए पूरे सबको अल्फाबेटिकल ऑर्डर में बस लगाने की कोशिश यह कर रहा है फिर से इसको चलाकर देखते हैं मैंने फिर से चलाया क्या जीसीसी अच्छा फिर से इसने ओय बना दिया क्योंकि मैंने जीसीसी कमांड जो है वो गलत चला दिया है फिर से अब चलाकर देखते हैं इसको डॉट एसटी स एड आट देखिए क्या हुआ कंपैरिजन ऑफ एल बनाना आया था -1 और चरी बनाना आया वन तो इसमें हम क्या करते हैं एक ब n दे देते हैं स्टार्टिंग में सभी के ताकि यह प्रॉब्लम भी हमारी ना हो ठीक है और एक हमारा लास्ट है देखिए इसमें हमने क्या किया एक बेसिकली सेम को कंपेयर कर लिया डेट और डेट को तो अगर यहां वो भी हम करके देख ले जिससे फाइनल फाइनल आउटपुट ही देख लेंगे तो यहां हमने क्या किया इस बार दे दिया डेट यानी अगेन ये तो हमने बस नाम लिख लिए हैं फ्रूट्स के बट आप यहां पर कुछ भी दे सकते हैं हम बेसिकली बस ये दिखाना चाह रहे हैं कि दो तरह की स्ट्रिंग को आप कैसे कंपेयर करेंगे है ना इसको फिर से करते हैं कंपाइल एंड देन फिर से करते हैं रन तो देखिए क्या हुआ अगर इन दोनों में से यह बता देगा कि डिक्शनरी में कौन पहले आने वाला है -1 का मतलब क्या है पह पहले वाला नंबर पहले आए पहले वाला स्ट्रिंग पहले आएगा पॉजिटिव का मतलब क्या है बाद वाला स्ट्रिंग पहले आएगा और जीरो का क्या मतलब है कि दोनों स्ट्रिंग जो आपने पास किए हैं वो सेम है तो जनरली सर्टिंग टाइप के जो फंक्शन होते हैं अगर आपको कभी भी दो स्ट्रिंग्स को कंपेयर करके कोई काम करना है उसके लिए आप एसडीआर सीएमपी का इस्तेमाल दोस्तों कर सकते हैं उम्मीद कर रहा हूं ये समझ आ गया है कैसे ये सिर्फ क्या कंपेयर कर रहा है पहले पहले पहले लेटर कंपेयर करेगा जैसे आपके क्लास में रोल नंबर हम हम जब स्कूल में होते थे तो जनरली अल्फाबेटिकली दिए जाते थे तो मान लीजिए आप एसडीआर सीएमपीसी बता सकते हैं किसका रोल नंबर पहले आएगा किस इसका बाद में क्योंकि पहले नाम कंपेयर करेगा अगर पहला पहला लेटर ही अलग है तो बता देगा भाई एप्ल पहले है बनाना बाद में है अगर मान लीजिए एप्ल होता और ये एप्ल बेसिकली इसका भी नाम अनाना होता है है ना बनाना की जगह या अनानास होता है यहां पर तो ए ए वो पहले दिखता है अच्छा ए ए सेम है तो सेकंड लेटर कंपेयर कर लो उनमें डिक्शनरी में कौन पहले आएगा अच्छा सेकंड भी सेम है तो थर्ड कंपेयर कर लो अगर उसने सारे कंपेयर कर लिए और सारे सेम है तो फिर क्या लिखा आ जाएगा फिर आ जाएगा जरो जो कि इसका मतलब आप दोनों सेम है वरना अगर पहले वाला पहले आना है तो माइनस और दूसरे वाला पहले आना है तो प्लस ठीक है तो यहां हम हमारे स्ट्रिंग . ए के चारों के चारों फंक्शन दोस्तों हो जाते हैं खत्म आ जाते हैं अपने लास्ट टॉपिक पर अ स्ट्रिंग्स के व्हिच इज टू डायमेंशन एरे ऑफ कैरेक्टर्स व्हिच इज टू डाइमेंशनल एरे ऑफ़ कैरेक्टर्स यहां पर हमने क्या किया है देखिए ये क्या दिखाने की कोशिश कर रहा है कई बार आपके पास अब देखिए स्ट्रिंग जो है वो अपने आप में क्या बन गया है एक एरे बन गया है अब हो सकता है मेरे पास कई सारे स्ट्रिंग्स हो अगर मेरे पास कई सारे स्ट्रिंग्स हैं तो उनको मैं कैसे दिखाऊंगा देखिए आप क्या कर सकते हैं कैरेक्टर्स का एक 2d एरे बना सकते हैं जिससे आपको क्या मिले एक टू डायमेंशन एरे मिल जाए यानी वन डायमेंशन एरे ऑफ स्ट्रिंग्स के लिए आपको टू डायमेंशन एरे ऑफ कैरेक्टर्स बनाना पड़ेगा तो य एक नया फाइल हम बनाते हैं इसका नाम हम रख देते हैं मान लीजिए डी एरे डॉट सी है ना यह डी अरे है इसको भी करते हैं बंदर करते हैं बंद श इंक्लूड एटीडीओ ए माफ कीजिएगा एंड देन इंट मेन देखिए हमको क्या करना है मान लीजिए हमको एक एक बली स्ट्रिंग्स बनाने हैं कि बच्चों के नाम क्याक है हमारी क्लास में है ना तो मैं क्या कर सकता हूं मैं मान लीजिए पहले कैरेक्टर एरे बना लेता हूं कैरेक्टर नेम्स यहां मैंने बना लिए दो ब्रैकेट क्योंकि देखिए मेरे को क्या बनाना पड़ेगा टू डायमेंशन एरे बनाना पड़ेगा इक्वल टू देखिए एरे को इनिला कैसे करते हैं ब्रैकेट से करते हैं बच्चों के नाम कितने हैं मान लीजिए पांच है हालांकि देने की जरूरत नहीं है मैं क्या देता हूं मान लीजिए नाम देना शुरू करता हूं एक प्रशांत नाम का बच्चा है एक राम नाम का बच्चा है एक सोनू नाम का बच्चा है एक समीर नाम का बच्चा है यह आपने किया इनिश इइ अब देखिए क्या बोल रहा है कि आपने सिंगल में यह तो दे दिया पर यहां पर दोनों में से एक का नाम एक का नंबर यहां देना हो जाएगा कंपलसरी तो मैं यहां क्या देता हूं मेरे पास कितने हैं मान लीजिए चार है तो मैं क्या बोलता हूं चार एंड देन मैक्सिमम नाम का साइज क्या होना चाहिए मान लीजिए 20 कैरेक्टर्स मेरा यहां पर होना चाहिए तो मैंने दिया 4 एंड 20 और ये क्या हुआ नाम को इसने इनिला यहां पर कर दिया है अब देखिए इसने क्या किया होगा अगेन नेम्स में अगर हम पहला कैरेक्टर देखेंगे तो पहला कैरेक्टर है रो यानी ये ईच स्ट्रिंग इज बिकमिंग अ रो तो अगर मैं नेम्स ज़ीरो बोलूंगा दिस इज़ नेम ज़ीरो दिस इज़ नेम्स वन दिस इज़ नेम्स टू दिस इज़ नेम्स थ्री एंड देन इंडिविजुअली अगर हम देखेंगे नेम ज़ीरो के अंदर ये ज़ीरो एथ कैरेक्टर है ये फर्स्ट है ये सेकंड है थर्ड फोर्थ फिफ्थ सिक्स्थ सेवंथ और एथ क्या होगा हमारा बै स्ल 0 होगा है ना या जो भी लास्ट कैरेक्टर है वो क्या होगा बै स्ल 0 होगा तो यही यहां पर दिखाने की कोशिश की गई है यहां पर मान लीजिए इसको मैं चलाक देखता हूं मान लीजिए लूप में चारों नाम हमको प्रिंट करने हैं तो मैं बोलूंगा फॉर इंट i = 0 i < 4 जो मेरा साइज है है ना i+ प् साइज ऑफ रो है मेरा है ना इसके अंदर इसको प्रिंट कर देते हैं मान लीजिए मैं क्या डाल देता हूं डायरेक्टली डाल देता हूं पुट्स नेम्स आ एक-एक करके सारे के सारे नाम आएंगे और नेक्स्ट लाइन कैरेक्टर भी खुद आता रहेगा इसको एक बार कंपेयर चलाक देखते हैं जीसीसी टू डायमेंशन एरे - o टू डायमेंशन रे डॉट आउट क्लीन करते हैं डॉट स्ल टू डायमेंशन डॉट आउट देखि क्या किया इसने एक एक करके नाम को उठाकर प्रिंट करना स्टार्ट कर दिया है ना तो एक ही लूप में काम हो गया क्यों क्योंकि य जो पुट्स है यह काइंड ऑफ कैरेक्टर एरे को एक बार में डंप कर सकता है अगर मैं दूसरा एरे बनाऊ एक दूसरा टाइप का बनाऊ जिसमें एक एक कैरेक्टर को एक एक बार में आपको प्रिंट करना हो तो चलिए वो बना लेते हैं है ना तो वो किस तरह से बनाएंगे हम मैं मान लीजिए लिखता हूं फॉर एंट आ इ 0 आ लेस 4 आ प् प्लस पर अब मैं अंदर वाले के लिए भी क्या चलाऊंगा लूप चलाऊंगा तो मैं लिखता हूं फॉर माफ कीजिएगा फॉर इंट j = 0 अब देखिए जे कहां तक चलना चाहिए इंडिविजुअल स्ट्रिंग में अलग-अलग आएगा प्रशांत में लंबा चलेगा राम में छोटा चलेगा सोनू में उससे बड़ा चलेगा समीर में उससे बड़ा चलेगा सबसे लंबा चलेगा प्रशांत में बट ये मैं कैसे निकाल सकता हूं ये हम निकाल सकते हैं एटीआर ए से अभी तो हमने देखा स्ट्रिंग की लेंथ कैसे निकालनी है और कौन सी स्ट्रिंग की लेंथ आपको निकालनी है मुझे यार जरा नेम्स आई यानी अभी जो भी स्ट्रिंग है उसकी लेंथ जहां है उससे कम तक ही चलाना देखिए एरे में हमने बात की थी बाउंस चेकिंग सी नहीं करेगा आपको अपने आप से ही करना पड़ेगा और अब मैं क्या बोलता हूं बोलता हूं भाई प्रिंट करिए प्रिंट एफ और एक कैरेक्टर आप प्रिंट कर दीजिए इंडिविजुअल कैरेक्टर अब हम यहां पर प्रिंट कर रहे हैं और कैरेक्टर कैसे प्रिंट करेंगे परसेंटाइल सी के बाद मैं बोलूंगा नेम्स आई यानी आई में आई स्ट्रिंग में जेथ कैरेक्टर आप यहां पर प्रिंट कर दीजिए है ना अब देखिए इसको एक बार फिर से चलाक देखते हैं कंपाइल अच्छा क्या कर दिया हमने गड़बड़ क्या बोल रहा है यह अच्छा हमने एसटीटीआर एलियन को यूज तो किया बट हमने स्ट्रिंग ड ए को इंक्लूड नहीं किया तो हमको क्या करना पड़ेगा एटीआर एलियन को यूज करने के लिए स्ट्रिंग ड ए को हमको इंक्लूड करना पड़ेगा स्ट्रिड ए को इंक्लूड कर लेते हैं भाई क्या बात हो गई फिर से इसको चलाकर देखते हैं जीसीसी देखिए कंपाइलेशन इस बार हो गया है सक्सेसफुल फिर से चलाएंगे इसको 2d एरे को तो देखिए क्या हुआ पहले प्रिंट हुआ प्रशांत राम सोनू समीर ऐसे अगली बार में सारे एक ही बार में प्रिंट हो गए क्योंकि हमने परसेंटाइल सी से पहले ना बाद में कुछ भी नहीं दिया हम क्या कर सकते हैं एक लूप के बाद यहां पे अगर मैं प्रिंट कर दूं प्रिंट f ब n यानी अंदर वाला लूप जब भी चलेगा एक नाम खत्म हो चुका है हर नाम खत्म होने के बाद मैं लगा देता हूं बै स् n फिर से इसको रन करते हैं कंपाइल किया फिर से इसको रन किया देखिए इस बार फिर से वही हो गया प्रशांत राम सोनू समीर प्रशांत राम सोनू समीर तो ये क्या बोलने की कोशिश कर रहा है कि आपको अगर एक लिस्ट ऑफ स्ट्रिंग्स चाहिए तो आपको क्या बनाना पड़ेगा टू डायमेंशन एरे ऑफ कैरेक्टर्स आप उसको जो स्ट्रिंग्स वाले फंक्शन है अगर उनकी तरह चलाएंगे तो आपको वो देखने में ऐसा लगेगा जैसे सिंगल डायमेंशन एरे है अगर आप उसको कैरेक्टर की तरह ट्रीट करेंगे तो आपको टू डायमेंशन एरे यानी अगर आपको लूप्स भी लगाकर उसको प्रिंट करना है तो नेस्टेड लूप्स लगाकर आपको उसको प्रिंट करना होगा है ना यहां पर हमने जो एग्जांपल दिया उसमें भी क्या दिखाता है मान लीजिए तीन नाम दिखा रहा है मोडिफाइंग दिखा रहा है कि अगर किसी स्ट्रिंग में मान लीजिए हमको क्या करना है बॉब को रॉब करना है तो देखिए जीरो स्ट्रिंग है ये फर्स्ट स्ट्रिंग है तो यानी फर्स्ट स्ट्रिंग का जीरो मतलब वन एथ यानी ये जीरो एथ ये फर्स्ट फर्स्ट नहीं बोलना चाहिए वन एथ स्ट्रिंग का यानी वन इंडेक्स की स् स्ट्रिंग का जीरो एथ इंडेक्स का जो कैरेक्टर है उसको हमको चेंज करके आर करना है वो इसने कर दिया फिर नाम्स को जो है प्रिंट किया ये दिखा रहा है कि किस तरह से आप यहां पर प्रिंट कर सकते हैं है ना स्पेसिफिक कैरेक्टर भी अगर आप प्रिंट करना चाहे जो हमने यहां करके देखे सारे के सारे स्पेसिफिक कैरेक्टर्स हमने प्रिंट करके देखे तो वो आप यहां पर कर सकते हैं तो अगर इसकी समरी देखें क्या है आप इसको क्या कर सकते हैं मैट्रिक्स ऑफ कैरेक्टर्स की तरह ट्रीट कर सकते हैं है ना ईच रो रिप्रेजेंट्स अ स्ट्रिंग हर रो क्या है एक स्ट्रिंग है ऑफें यूज टू स्टोर मल्टीपल स्ट्रिंग्स यूज किस लिए होगा मल्टीपल स्ट्रिंग्स को करने के लिए ईच स्ट्रिंग मस्ट बी टर्मिनेटेड बाय बैक स्ल 0 ये बात तो हमको समझ आ रही है हर स्ट्रिंग जब बैक स्ल जीरो होगा से टर्मिनेट होगा तो टू डायमेंशन एरे में हर रो का लास्ट एलिमेंट क्या होगा नल कैरेक्टर ही होगा फिक्स्ड विड्थ यानी ऑल स्ट्रिंग हैव अ फिक्स्ड मिक्स्ड मैक्सिमम जो आपको मैक्सिमम यहां पर बताना पड़ेगा ये जो मेरा 20 है ये इनकी विड्थ का एक मैक्सिमम होना चाहिए कि मैक्सिमम नंबर ऑफ कॉलम्स मेरे पास यहां पर कितने हो सकते हैं रो कैसे एक्सेस करेंगे पहला अगर लिखेंगे तो डायरेक्टली रो एक्सेस हो जाएगा कैरेक्टर एक्सेस करेंगे तो दो अगर इंटी जर हम यहां पर देंगे दो ब्रैकेट लगा कर देंगे तो ये एक्सेस हो जाएगा इनिश इइ जशन हमने करके देखा कैसे आप कर सकते हैं यहां पर आप साइज दीजिए और उसके बाद आप डायरेक्टली स्ट्रिंग्स सिंगल ब्रैकेट के अंदर दे रहे हैं तो हो रहा है टू डाइमेंशनल एरे में सिंगल ब्रैकेट कैसे चल रहा है भाई ये जो लिटरल है ये जो हमने डबल कोड्स दिया है ये भी हमने देखा था फाइनली किस तरह से कन्वर्ट करता है स्ट्रिंग इनिशियल इजेशन में हमने देखा था क्या एकदम स्टार्टिंग में चलते हैं वापस आपको रिमाइंड कराने के लिए कि भाई आप चाहे डबल कोट्स में लिख दीजिए या ब्रैकेट लगाकर उसके बाद अंदर कैरेक्टर्स कॉमा सेपरेटेड लिख दीजिए बात एक ही है यहां आपको बै स् 0 भी दिखाना नहीं पड़ता है तो इससे हमारी यह प्रॉब्लम दूर हो गई कि इवन टू डायमेंशन एरे के लिए भी हमने क्या किया हमने सिंगल ब्रैकेट लगाया कि यह ब्रैकेट बाहर रोज के लिए है और इंडिविजुअल रो को यह बाद में एनीवे कन्वर्ट करने वाला है इसको ब्रैकेट लगाएगा a b c नल ये यहां पर एनीवे लिखने वाला है है ना तो दोस्तों यहां हो जाता है हमारा स्ट्रिंग वाला चैप्टर भी कंप्लीट है ना तो यहां पर हमने स्ट्रिंग देखा मेमोरी एलोकेशन इनिश इजेशन कैसे करना है इनपुट आउटपुट कैसे करना है स्पेसिफाइड और पुट्स कैसे यूज़ करना है पॉइंटर से इनका रिलेशनशिप चारों चारों हमने मेथड चलाकर देखे और बाद में देखा हमें अगर एक एक एरे ऑफ स्ट्रिंग चाहिए तो वो हम कैसे देखेंगे दोस्तों यहां स्ट्रिंग्स खत्म होता है इसके भी बहुत सारे प्रैक्टिस एक्सरसाइजस हैं जो भी हम इसके बाद सॉल्व करेंगे पर इसके बाद एक बहुत इंपॉर्टेंट चैप्टर और बचता है जिसका नाम है स्ट्रक्चर ये क्या है ये थोड़ा सा एडवांस लेवल है जब आप प्रोजेक्ट्स वगैरह बनाएंगे वहां पर स्ट्रक्चर ज्यादा यूज़ होता है या इवन डीएसए की बात करें तो अगर आप लिंक लिस्ट वगैरह की इंप्लीमेंटेशन करेंगे तो वहां जो नोड बनता है जो भी बनता है थोड़ा यूज़ बेसिकली स्ट्रक्चर का यहां पर भी होता है तो स्ट्रक्चर को पढ़ना भी बहुत इंपॉर्टेंट है यहां इस पहले हम स्ट्रिंग को खत्म करते हैं इसकी प्रैक्टिस एक्सरसाइजस को खत्म करिए उसके बाद जल्दी से चलते हैं स्ट्रक्चर की तरफ देखिए हमने कहा था एरे के बाद जो थोड़ा कम इंपॉर्टेंट चैप्टर बेसिकली एरे से कम इंपॉर्टेंट बट फिर भी अच्छा एक इंपॉर्टेंट चैप्टर बचता है वो है हमारा स्ट्रिंग चैप्टर नंबर 10 तो कितने एग्जाम कितने हमारे पास यहां चैलेंज हैं 78 से 87 तक यानी 10 चैलेंज हमको यहां पर करने हैं ट्राई करे बिना आगे नहीं बढ़ेगा ट्राई करिए सॉल्यूशन आपको मिलेगा सॉल्यूशन वीडियो में एक-एक करके प्रॉब्लम्स को देखते हैं प्रॉब्लम क्या है रीड अ लाइन ऑफ टेक्स्ट फ्रॉम द यूजर यूजिंग एफ गेट्स तो आपको लाइन रीड करनी है एंड देन प्रिंट इट यूजिंग पुट्स है ना एफ गेट से रीड करनी है पुट से पुट करिए देन यूज़ प्रिंट एफ टू विद फॉर्मेट स्पेसिफिकेशन राइट अ प्रोग्राम टू कन्वर्ट एन इनपुट स्ट्रिंग टू अपर केस यानी एक स्ट्रिंग आप यूजर से इनपुट कराइए और पूरे के केस को अपर केस चेंज करके आपको प्रिंट करना है फिर क्या है क्रिएट अ सिंपल टेक्स्ट बेज लॉगइन सिस्टम यानी यूजर लॉगइन सिस्टम हम यहां कर रहे हैं और क्या करना है एक स्टोर्ड पासवर्ड पासवर्ड को एक हार्ड कोड कर लीजिए और उसको हमेशा एसटीआरसीएमपी से कंपेयर करिए कि यूजर ने जो पासवर्ड डाला है वो इक्वल है या नहीं है उसके बाद यूज अ टू डायमेंशन कैरेक्टर एरे टू स्टोर एंड डिस्प्ले अ टिक टैक टो बोर्ड एक टिक टैक टो बोर्ड आप यहां पर हार्ड कोड कर लीजिए और उसको आपको टू डायमेंशन एरे को किस तरह से स्क्रीन पे ठीक से दिखाना है जितना सुंदर बना सकते हैं उतना सुंदर बनाकर इसको स्क्रीन पे आपको दिखाना है फिर राइट अ फंक्शन दैट टेक्स अ स्ट्रिंग एंड रिवर्सेज इट इन प्लेस यानी एक स्ट्रिंग आप लीजिए और उसको इन प्लेस आपको रिवर्सल करना है ठीक बात है देन इंप्लीमेंट अ ट्रिम फंक्शन एक ट्रिम फंक्शन आपको इंप्लीमेंट करना है जो एक स्ट्रिंग एज एन बेसिकली आर्गुमेंट लेता हो एंड उसमें अगर शुरुआत में या आखिर में कोई भी क्या है स्पेसेस हैं उनको वो खा जाए और बेसिकली सेम स्ट्रिंग में यह भी आपको क्या करना है इन पलेस करना है यानी बैक स्ल 0 आपको देखना है बाकी चीजों को देखना है कैसे मूव अराउंड करना है बट बेसिकली फाइनल स्ट्रिंग जो बचनी चाहिए उसमें शुरुआत में आखिर में कोई भी स्पेस ना हो फिर क्रिएट अ प्रोग्राम दैट चेक्स इफ अ गिवन स्ट्रिंग इज पलिंड्रोम र नॉट आपको बताना है कि जो स्ट्रिंग है वो पलिंड्रोम है या नहीं है ठीक है देन प्रोग्राम यूजिंग डू वाइल लूप का यहां आपको इस्तेमाल करना है टू फाइंड पासवर्ड चेकर अंट्स वर्ड इज एंटर्ड आपने पहले भी ये किया था बट इस बार क्या करना है यूजर से बार-बार पासवर्ड डलवा रहना है जब तक वो ठीक पासवर्ड ना डाले आप हर बार उसको बोलिए प्लीज रीएंटर प्लीज रीएंटर जब तक वो सही पासवर्ड नहीं डालता तब तक आपको डू वाइल लूप चलाते रहना है फिर क्या है क्रिएट अ प्रोग्राम यूजिंग ब्रेक टू रीड इनपुट्स फ्रॉम द यूज़र इन अ लूप यानी यहां पर भी लूप में आपको बेसिकली इनपुट लेते रहना है एंड ब्रेक द लूप स्पेसिफिक कीवर्ड एग्जिट इज ड यहां आपको ब्रेक का इस्तेमाल करना है और क्या करना है जब तक वो मान लीजिए एग्जिट नहीं लिखता वो जो भी लिखता रहे आपको क्या करना है बेसिकली इनपुट को रीड करते रहना है पर लूप ब्रेक नहीं करना है ठीक है तो अगेन देखिए यहां 10 प्रोग्राम है काफी अच्छे हैं स्ट्रिंग आपको यहां पर बेसिकली इसके बाद अगेन आप डीएसए वाली जो स्ट्रिंग का लेवल है उसके लिए तैयार हो जाएंगे बट इनको एक बार ट्राई जरूर करिए हो जरूरी नहीं सारे हो जाएंगे मैं बार-बार ये बोलता हूं सिर्फ ट्राई करना इंपॉर्टेंट है उसका सलूशन वीडियो देखिए आपको समझ आएगा चीजों को किस तरह से अटेंप्ट करना है ठीक है तो ये करिए उसके बाद जाएंगे अपने नेक्स्ट चैप्टर की तरफ तो दोस्तों चलिए स्टार्ट करते हैं हमारा अगला चैप्टर जिसका नाम क्या है स्ट्रक्चर्स अब मैं दोबारा अगर यह कहूं कि काफी इंपॉर्टेंट चैप्टर है तो आप में से कुछ लोग बोलेंगे सर आप हर चैप्टर को यही बोलते आ रहे हैं कि यह भी इंपॉर्टेंट है यह भी इंपॉर्टेंट है ये तो वही बात हो गई कि जब छोटे थे तो घर वाले और रिश्तेदार ही बोलते थे कि बेटा दसवीं में एक बार नंबर ले आओ उसके बाद आपकी लाइफ एकदम सेट हो जाएगी फिर कहते थे बेटा 12वीं में एक बार अच्छे नंबर आ गए तो लाइफ सेट हो जाएगी अगर आईआईटी में एक बार सिलेक्शन हो गया तो लाइफ सेट हो जाएगी अगर जॉब में एक बार आ गए एक अच्छी जॉब आपको लग गई है ना फैंग कंपनीज में जॉब लग गई तो आपकी जॉब सेट हो जाएगी और अब यहां काम करते करते भी लोगों को पांच पांच 10-10 साल हो गए हैं समझ ही नहीं आ रहा लाइफ सेट कब होगी है ना देखिए ऐसा नहीं है ये वाला वो वाला एग्जांपल नहीं है हमने देखिए शुरुआत में बोला था जो हमारा इफल्स वाला चैप्टर था वो बहुत इंपॉर्टेंट था जो हमने लूप्स वाला चैप्टर पढ़ा वो बहुत इंपॉर्टेंट था तो अगर आपको लैंग्वेज का बेसिक समझना है तो वो दो चैप्टर बहुत ज्यादा इंपॉर्टेंट है उसके बाद अगर आपको एक एडवांस लेवल पर जाकर अपने आप को सच में कोडर कहलाना है और आपको आपको ये चाहिए कि मैं बेसिक प्रोग्रामिंग हर जगह की कर सकूं थोड़े बहुत प्रोजेक्ट बना सकूं तो जो हमने एरे और स्ट्रिंग्स वाले चैप्टर पढ़े वो भी बहुत ज्यादा जरूरी थे जहां तक स्ट्रक्चर्स की बात करें तो स्ट्रक्चर्स दो चीज में बहुत ज्यादा काम आता है पहला तो अगर आप थोड़ा भी बड़े लेवल का प्रोजेक्ट बनाना स्टार्ट करेंगे तो स्ट्रक्चर एब्सलूट एसेंशियल हो जाता है है ना तो प्रोजेक्ट्स के लिए ये बहुत ज्यादा इंपॉर्टेंट है डीएससी के लिए स्ट्रक्चर उतना ज्यादा इंपॉर्टेंट नहीं है एक्सेप्ट कि ऑलमोस्ट हर बेसिकली जो डीएसए के क्वेश्चंस आएंगे वो चाहे ट्री वाले हो चाहे लिंकलिस्ट वाले हो सब में स्ट्रक्चर का थोड़ा यूज़ है तो स्ट्रक्चर एक्चुअली क्या है स्ट्रक्चर काफी सिंपल है समझने के लिए इसमें कोई बहुत ज्यादा कांसेप्ट नहीं है बेसिक चीज है अगर आपको एक बार समझ आ गई तो आपको समझ आएगा कि हां इसका बेसिक यूज मुझे हर जगह करना है स्ट्रक्चर बेस्ड क्वेश्चंस नहीं आते हैं इंटरव्यूज में या पेपर में जनरली पर स्ट्रक्चर का इस्तेमाल सब में होता है है ना तो स्ट्रक्चर को समझना भी पढ़ना भी बहुत ज्यादा जरूरी है तो स्ट्रक्चर क्या हम इस तरह के स्ट्रक्चर की बात कर रहे हैं जो बिल्डिंग का स्ट्रक्चर होता है एक तरह से हां भी और ना भी अब अभी आगे चलके आप समझेंगे कि क्यों इसका नाम स्ट्रक्चर रखा गया है और स्ट्रक्चर को हम कैसे समझ सकते हैं तो चलिए जल्दी से शुरू करते हैं सबसे पहले कहां से स्टार्ट करेंगे सबसे पहले देखेंगे कि हमको स्ट्रक्चर की एक्चुअली जरूरत क्या है ये स्ट्रक्चर क्या चीज है और इसकी हमको जरूरत क्या है तो हम चलेंगे सबसे पहले अपने कोडिंग स्टूडियो की तरफ यहां आते हैं और खोलते हैं अपना प्रोजेक्ट ठीक है और यहां अभी कौन सा चैप्टर 10 चैप्टर यहां पर हो गए हैं हमको क्या करना है हमको लगाना है 11 व्हिच इज स्ट्रक्चर तो बाहर आके एक नया फोल्डर बना लेते हैं 11 स्ट्रक्चर है ना और इसके अंदर एक नया फाइल लगाते हैं ड स ठीक है नीड ऑफ स्ट्रक्चर अभी हम यहां समझने की कोशिश करेंगे तो हम यहां करने की क्या कोशिश कर रहे हैं ब इसको थोड़ा सा बड़ा कर लेते हैं हम यहां करने की क्या कोशिश कर रहे हैं हम एक मान लीजिए कोई क्लास है हमने यहां पर आपको आपको यहां एग्जांपल भी दिया है कोई क्लास है जिसमें पांच स्टूडेंट्स हैं हमें उनके रोल नंबर नाम और मार्क्स इनिश इज हम डायरेक्टली कर लेंगे हमको एक लूप लगाकर प्रिंट कराना है तो पांच रोल नंबर पांच नाम और पांच क्लास है ना तो सबसे पहले लिखते हैं है इंक्लूड एसटीडी आओ एंड मेन ठीक है तो सबसे पहले हमको डिक्लेयर करना पड़ेगा है ना तो क्या-क्या रोल नंबर है तो पहले एक इंटी जर एरे डिक्लेयर कर लेते हैं इंट रोल नंबर एरे पांच साइज का और हमको क्या करना है पांच रोल नंबर यहां पर लगाने हैं तो मान लीजिए रोल नंबर क्या है रोल नंबर तो जनरली लाइन से ही होते हैं तो मान लीजिए हमने पांच रोल नंबर दे दिए 1 2 3 4 फ उसके बाद हमको क्या देना है उसके बाद हमको देना है उनके नाम अब देखिए नाम में हमने देखा था कि अगर आप को एक एरे ऑफ स्ट्रिंग्स चाहिए यानी एरे ऑफ नाम चाहिए तो आपको क्या लगाना पड़ेगा आपको लगाना पड़ेगा टू डायमेंशन एरे तो यहां मैं लिखता हूं नेम्स और दो डायमेंशन रे क्या होगा पहला तो कितने बच्चों के नाम है वो और पर नाम आप कितने कैरेक्टर्स चाहते हैं मान लीजिए मैं चाहता हूं पर नाम 20 कैरेक्टर से ज्यादा ना हो और उसके बाद क्या करेंगे दो तरीके होते हैं स्ट्रिंग्स को इनिश करने के एक तो ये है कि अंदर भी हम कैरेक्टर इशिजाका है कि स्ट्रिंग लिटरल बनाकर हम कर ले तो मान लीजिए मैं नाम देना शुरू करता हूं मान लीजिए पहले का नाम है राम दूसरे का नाम है श्याम फिर है सीता फिर है गीता और लास्ट है हमारा समीर ठीक बात है तो यह हमारे पांच नाम हो गए जो हमने इनिश इज कर लिए अब इनके मार्क्स देख लेते हैं तो मार्क्स कैसे होंगे मान लीजिए फ्लोट में मार्क्स हैं है ना मार्क्स पांच हर बच्चे का एक-एक मार्क्स ही हम रख रहे हैं मान लीजिए परसेंटेज है जो हम यहां पर रखने की कोशिश कर रहे हैं तो मार्क्स कितने-कितने हैं मान लीजिए एक के मार्क्स हैं 45.8 या 45.5 एक के हैं 78.962880 नंबर थ्री सीता जिसके मार्क्स आए हैं 90 इस तरह से हमने डाटा को जो है रखा हुआ है इसको अगर प्रिंट कराना है तो कैसे कराएंगे देखिए बच्चे पांच है तो i = 0 से स्टार्ट करेंगे i लेन 5 तक चलाएंगे लेस दन फ क्यों क्योंकि एरे का इंडेक्स कहां से शुरू होता है जीरो से साइज से कम तक तो जीरो से फोर तक चलाना है इन सब चीजों को हमको करना है प्रिंट तो कैसे करेंगे मान लीजिए मैं लिखता हूं प्रिंट एफ स्टूडेंट नेम है ना नाम क्या है परसेंटाइल एस परसेंटाइल एस करके हम इसको दिखा देंगे नाम के बाद क्या देंगे रोल नंबर परसेंटाइल डी एंड देन मार्क्स परसेंटाइल 0.2 या सिर्फ पॉइंट भी लगा सकते हैं पॉइंट ए ये पॉइंट ट एफ का क्या मतलब है यह भी अभी मैं आपको समझाऊ तो अब यहां क्याक करना है हमको सबसे पहले देना है स्टूडेंट का नाम नाम क्या होने वाला है नेम्स आई उसके बाद रोल नंबर तो रोल नंबर आई और उसके बाद मार्क्स च इज मार्क्सस ठीक है इतना हमने कर लिया एक बार इसको चलाकर देख लेते हैं तो हम क्या करेंगे पहले चलेंगे अपने नए फोल्डर के अंदर च इज नंबर 11 उसके वहां जाकर हम करेंगे जीसीसी नीड सी माइन नीट डॉट आउट कोई एरर नहीं है चलाकर देखते हैं नीट डॉट आउट को अच्छा हमने बैक स्ल नहीं लगाया तो क्या हुआ सारी की सारी चीजें एक ही लाइन में आ रही है इसको एक बार फिक्स करते हैं क्लीन करते हैं दोबारा कंपाइल करते हैं दोबारा रन करते हैं तो देखिए क्या हुआ स्टूडेंट राम श्याम सीता गीता समीर सबका क्या आ गया नाम आ गया रोल नंबर आ गया और मार्क्स आ गए देखिए पं 2f का क्या मतलब है 2f का मतलब है कि पॉइंट के बाद दो डिजिट तक हमको सिग्निफिकेंट चाहिए अब नंबर मेरा कितना भी बड़ा हो कितना भी छोटा हो पॉइंट के बाद दो डिजिट दिखाना तो देखिए इसने क्या किया 45 5.5 को 45.0 बना दिया 90 को 90.00 बना दिया तो क्या होता है अगर आपको कहीं पर एक एक सार चाहिए आपको चाहिए कि आप मान लीजिए आप कहीं पर रुपीज लिख रहे हैं करेंसी लिख रहे हैं तो पता है कि पॉइंट की दो डिजिट तक ही हो सकती है तो मैच कर ने में आसानी होती है अब देखिए प्रोग्राम तो हम ये कर पाए अभी स्ट्रक्चर की क्या जरूरत है अभी देखिए यहां पर हो क्या रहा है एक ही बच्चे का मान लीजिए जो डाटा है वो रोल नंबर में भी किसी एक पर्टिकुलर इंडेक्स पे है नेम्स में भी एक पर्टिकुलर इंडेक्स पे है मार्क्स में भी एक पर्टिकुलर इंडेक्स पे है तो मुझे एक्चुअली जो एरे बनाना था अगर आप सोचे मुझे एरे बनाना था स्टूडेंट का मेरे पास स्टूडेंट कितने हैं मेरे पास स्टूडेंट है मान लीजिए पांच तो मुझे स्टूडेंट का एरे बनाना था बट मैंने एरे बना किसका लिया मुझे एक रोल नंबर का एरे बनाना पड़ा एक नेम्स का एरे बनाना पड़ा एक मार्क्स का एरे बनाना पड़ा तो क्या है एक ही स्टूडेंट का डाटा बहुत ज्यादा डिस्ट्रीब्यूटर है रोल नंबर उसका रोल नंबर एक रोल नंबर वाले एरे में है नेम्स नेम वाले एरे में है मार्क्स मार्क्स वाले एरे में है जैसे-जैसे प्रोजेक्ट बहुत बड़ा होता जाता है बहुत सारा डाटा होता जाता है तो ये मैनेज करना कि किस एंटिटी का एंटिटी यहां पर क्या हम बात कर रहे हैं मान लीजिए स्टूडेंट तो स्टूडेंट का डेटा कहां-कहां पर है एंप्लॉई का डाटा कहां-कहां पर है टीचर का डाटा कहां-कहां पर है अब ये जो नेम्स है अब ये समझ नहीं आएगा मान लीजिए आप बहुत बड़ा स्कूल का सिस्टम बना रहे हैं कि ये नेम्स एंप्लॉई के नेम्स हैं ये टीचर के नेम्स हैं ये स्टूडेंट के नेम्स हैं ये नेम्स हैं किसके है ना तो धीरे-धीरे वो आपको नाम में ही ऐड करना पड़ता है स्टूडेंट नेम ये वो तो होता क्या है ये जो डाटा है ओपन ये बहुत ज्यादा इकट्ठा हो जाता है दूसरा ये मैनेजमेंट कि हमेशा मैं ध्यान रखूं कि ये नंबर ऑफ स्टूडेंट्स हर जगह यहां पर सेम रखने हैं तो यही प्रॉब्लम सॉल्व करने के लिए आता है आपका स्ट्रक्चर तो जो मैंने एग्जांपल वहां पर किया है या सिमिलर एग्जांपल यहां आपके नोट्स में भी है बट स्ट्रक्चर यूज़ करने के एडवांटेजेस क्या-क्या हैं स्ट्रक्चर क्या करता है डाटा को ग्रुप करता है तो स्ट्रक्चर्स अलाउ रिलेटेड डेटा आइटम्स ऑफ डिफरेंट टाइप्स टू बी ग्रुप टुगेदर तो ये क्या है स्ट्रक्चर मान लीजिए एक तरीका है नए डेटा टाइप डिफाइन करने का तो मैं एक नया डेटा टाइप डिफाइन कर सकता हूं मान लीजिए इसको बोल सकता हूं स्टूडेंट और मैं बोल सकता हूं भाई स्टूडेंट के पास एक रोल नंबर होता है एक नाम होता है और एक उसका मार्क्स होता है और उसके बाद स्टूडेंट एज अ डेटा टाइप बन जाएगा और मैं क्या कर सकता हूं मैं स्टूडेंट के उसके बाद जब मेरे को एरे बनाना है कहीं नया इनिश इइ करना है तो मैं क्या करूंगा जैसे हमने इंटी जर बनाया है जैसे आई एनटी है जैसे कैर है जैसे फ्लोट है ऐसा ही एक स्टूडेंट भी बन जाएगा और आप एक स्टूडेंट को जैसे ही नया बनाएंगे तो उसके साथ उसका नाम उसका रोल नंबर उसके मार्क्स सब कुछ क्रिएट होता चला जाएगा कैसे होगा वो भी हम देखें े पर पॉइंट यह है स्ट्रक्चर इज अ वे टू ग्रुप डाटा एंड क्रिएट न्यू डेटा स्ट्रक्चर्स दूसरा एडवांटेज का क्या है मॉडलिंग रियल वर्ल्ड एंटिटीज जैसे अभी हमने बात की स्टूडेंट क्या है एक रियल वर्ड एंटिटी है तो ये क्या इनेबल करता है रिप्रेजेंटेशन ऑफ कॉम्प्लेक्टेड हैट है पॉइंट इन स्पेस है कोई भी ऐसी चीजें हैं जो नेचुरल चाहिए तो उनको हम क्या कर सकते हैं उनको हम रिप्रेजेंट कर सकते हैं तीसरा क्या है ईज ऑफ हैंडलिंग यानी सिंपली पासिंग मल्टीपल डेटा टम्स एज अ सिंगल आर्गुमेंट हमने बात की थी कि होता क्या है मान लीजिए मुझे डेटा किसी फंक्शन में पास करना ना है तो मैं नाम भी पास करूंगा एक स्टूडेंट का डाटा मान लीजिए आपको पास करना है तो आप नाम अलग पास करेंगे रोल नंबर अलग पास करेंगे मार्क्स अलग पास करेंगे क्योंकि अगर मैंने उनको ग्रुप करके एक सिंगल डेटा स्ट्रक्चर बना लिया है या एक सिंगल डेटा टाइप मेरा बना लिया है तो मैं क्या करूंगा उस सिंगल को ही यहां से पास कर दूंगा डेटा एनकैप्सूलेशन देखिए वैसे ऊप्स प्रिंसिपल में से एक प्रिंसिपल होता है बट डेटा एनकैप्सूलेशन का क्या मतलब है दिस एनकैप्सूलेट्स रिलेटेड डेटा यानी एनकैप्सूलेट्स का मतलब होता है रिलेटेड चीजों को एक पैकेट में बंद कर देना तो रिलेटेड चीजों को क्या करता है एक पैकेट में यानी एक स्ट्रक्चर के अंदर बंद कर देता है तो आपको हमेशा पता है कि अगर मुझे स्टूडेंट का डाटा चाहिए तो वो कहां मिलेगा जाकर स्टूडेंट के स्टूडेंट जो स्ट्रक्चर है वहीं पर मिलेगा एनहांसिंग कोड रीडेबिलिटी एंड मेंटेनेबिलिटी है ना और टाइप डेफिनेशन क्या है अलाउ द क्रिएशन ऑफ न्यू डेटा टाइप्स अभी हमने यही बात की कि स्ट्रक्चर हमको किस चीज के लिए हेल्प करता है हम नए डेटा टाइप्स नए डेटा स्ट्रक्चर्स यहां पर क्रिएट कर सकते हैं और उसके बाद उनको प्रोग्राम में यूज कर सकते हैं अब ये तो हुई बात समझने की अब आते हैं कि हम इसको एक्चुअली डिक्लेयर कैसे करते हैं एक्चुअली यूज कैसे से करते हैं तो अब देखते हैं अगर हमको स्ट्रक्चर डिक्लेयर करना है यानी स्ट्रक्चर बनाना है तो वो बनेगा कैसे अभी जो स्टूडेंट वाला एग्जांपल ले रहे थे उसी को आगे लेकर चलते हैं तो सबसे पहले आपको क्या यूज़ करना है आपको यूज़ करना है एक स्ट्रक्ट कीवर्ड यानी कीवर्ड है जिसका नाम है स्ट्रक्ट एस टी आर यू सी टी स्ट्रक्चर का शॉर्ट फॉर्म है पहले आप लिखेंगे स्ट्रक्ट उसके बाद आप लिखेंगे अपने स्ट्रक्चर का नाम जो भी आप क्रिएट करने की कोशिश कर रहे हैं मान लीजिए यहां हम स्टूडेंट क्रिएट करने की कोशिश कर रहे हैं इसका एक नेमिन कन्वेंशन क्या है ये नॉर्मल लिटरल की तरह नहीं चलेगा आप इसमें क्या करेंगे कैपिटल से स्टार्ट स्टार्ट करेंगे ताकि जब भी आप इसके वेरिएबल वगैरह को डिक्लेयर करें आगे चलके स्टूडेंट के तो वो क्लेरिटी रहती है कि भाई कैपिटल से स्टार्ट हुआ है इसका मतलब ये एक स्ट्रक्चर है है ना उसके बाद लगेंगे दो कर्ली ब्रेसेज सेमीकलन से इसकी डेफिनेशन एंड होगी और बीच में आप इसके अंदर क्या-क्या होने वाला है वो आप लिख सकते हैं कि स्टूडेंट का मेंबर जो है वो कौन-कौन होने वाला है तो अभी यहां क्या लिखा मैंने मैंने लिखा एक स्ट्रक्चर बनाइए स्टूडेंट नाम का जिसके अंदर एक रोल नंबर हो उसका एक नाम हो जो 10 कैरेक्टर्स का हो और उसके मार्क्स हो जो एक फ्लोट हो तो यहां समझिए ये पर स्टूडेंट बन रहा है तो जब भी भी मैं एक स्टूडेंट का वेरिएबल बनाऊंगा उस वेरिएबल के अंदर अपने आप एक रोल नंबर बन जाएगा एक नेम बन जाएगा एक मार्क्स बन जाएगा तो हमारी बात चीजें जो है वो कितनी आसान हो जाएंगे और उसको डिक्लेयर कैसे करेंगे मान लीजिए मैंने डिक्लेयर कर दिया एक बार डेफिनेशन है ना ये ब्लूप्रिंट है आप इस बात मान कर चलिए अभी स्टूडेंट बना नहीं है अभी मैंने इसको ये बताया है कि भाई जब भी स्टूडेंट बनेगा तो वो इस टाइप से कुछ-कुछ बनेगा तो ये मान लीजिए ये अभी मैप बना है जैसे घर का कोई पहले नक्शा बनाता है ना घर का नक्शा हमने बना दिया है घर कैसे बनेगा घर बनेगा यहां पर यानी जब मैं बोलूंगा उसके बाद जभी भी मुझे इसका वेरिएबल क्रिएट करना है तो मैं क्या करूंगा मैं लिखूंगा स्ट्रक्ट स्टूडेंट यानी मेरा एक स्टूडेंट स्ट्रक्चर है उसका एक वेरिएबल क्रिएट कर दीजिए स्टूडेंट जैसे ही मैंने ये किया तो स्टूडेंट क्या हो गया है स्टूडेंट नाम का एक वेरिएबल यहां पर क्रिएट हो गया है है ना तो अगर यहां पर बात करें क्या कीवर्ड क्या है यूज़ करने के लिए वी हैव टू यूज स्ट्रक्ट कीवर्ड स्ट्रक्चर डिफाइन करने के लिए नाम ऑप्शनली हम जो भी अपना देना चाहे वो नाम देख सकते हैं मेंबर्स काई के अंदर आएंगे दो ब्रेसेज लगाएंगे उसके अंदर इसके मेंबर आएंगे और उसके बाद सेमीकलन से डेफिनेशन जो है वो एंड हो जाने वाली है तो चलिए हम भी एक बार इसको स्टूडेंट को बना लेते हैं ताकि इसको आगे चलके हम ले सकें नीड को फिलहाल कर देते हैं बंद एक नया फाइल यहां पर क्रिएट करते हैं मान लीजिए मैं नाम इसका रख देता हूं स्टूडेंड सी है ना स्टूडेंड स मैंने क्रिएट कर लिया है सबसे पहले लिखेंगे हैश इंक्लूड क्या हमको करना है एडीओ ए ये तो मेरी हेडर फाइल हुई अब देखिए डिक्लेरेशन जो जनरली किया जाता है मेन के भी बाहर किया जाता है ताकि पूरे प्रोग्राम में इसका एक्सेस रहे आपकी पूरी फाइल में एक्सेस रहे तो हम क्या लिखेंगे स्ट्रक्ट स्टूडेंट स्ट्रक्चर हम बनाने की कोशिश कर रहे हैं और एंड कर देंगे उसके सेमीकलन से और स्टूडेंट के अंदर क्या-क्या होगा एक होगा उसका रोल नंबर तो मैं बोलूंगा इंट रोल नंबर उसके बाद क्या करना है हमको नाम रखना है नाम रखने के लिए क्या करना पड़ेगा कैरेक्टर एरे बनाना पड़ेगा तो लिखते हैं कैरेक्टर नेम 10 कैरेक्टर का और उसके बाद फ्लोट उसके मार्क्स जो है वो कितने आए हैं मान लीजिए एवरेज मार्क्स तो इतने से क्या हो गया है इतने से एक स्ट्रक्चर जो है स्टूडेंट वो डिक्लेयर हो गया है अब अगर मुझे इसका क्या बनाना है इसका वेरिएबल बनाना है तो कैसे करेंगे यहां पर आएंगे आप जहां पर भी आपको बनाना है आप लिखेंगे स्ट्रक्ट स्टूडेंट है ना माफ कीजिएगा य इसको लगा मैं स्ट्रक्चर डिफाइन करने की कोशिश कर रहा हूं स्ट्रक्ट स्टूडेंट और उसके बाद आप यहां क्या लिख सकते हैं मान लीजिए मेरा है राम जो हम पहले बना रहे थे तो राम नाम का जो स्टूडेंट है वो यहां पर बन चुका है है ना तो यही हमने यहां आपके नोट्स में भी लिखा है आप स्टूडेंट नाम दीजिए अब ये तो आपके वेरिएबल का नाम है जो हम पहले से वेरिएबल के नाम देते आ रहे हैं उसी तरह से आप यहां वेरिएबल का कोई भी नाम दे सकते हैं तो ऐसे बनेगा स्टूडेंट का स्ट्रक्चर या मतलब जो स्ट्रक्चर बनेगा और ऐसे उसका बनेगा वेरिएबल उसके बाद क्या आता है अब सर वेरिएबल तो बना लिया बट इस वेरिएबल में हम चीजों को एक्सेस कैसे करेंगे यानी ये जो हम कह रहे हैं कि हर स्टूडेंट के अंदर अब एक रोल नंबर है एक नाम है एक बेसिकली मार्क्स है वो एक्सेस कैसे होगा तो देखिए यहां हमने उसी का एग्जांपल दिया हुआ है आप एक बार बना करके उसके बाद क्या कर सकते हैं रोल नंबर मार्क्स नाम वगैरह सब कुछ यहां पर डायरेक्टली एक्सेस कर सकते हैं तो हम भी इधर चलते हैं माफ कीजिएगा हम भी चलते हैं कोडिंग स्टूडियो में और यहां आपको आगे दिखाते हैं कि होगा कैसे अब देखिए राम मैंने बना लिया अब मान लीजिए राम का रोल नंबर भी हमको लेना है नाम भी हमको लेना है और मार्क्स भी हमको लेना है तो कैसे करेंगे सबसे पहले यूजर को हम मैसेज दे देते हैं प्रिंट एफ प्लीज एंटर स्टूडेंट डिटेल्स है ना मैंने बोला भाई स्टूडेंट की डिटेल जो है वह आप एंटर कर दीजिए उसके बाद क्या देंगे एक और प्रिंट देते हैं कौन-कौन सी डिटेल एंटर करनी है एंटर द सब सपोज सबसे पहले क्या करते हैं बोलते हैं रोल नंबर दीजिए सबसे पहले तो एंटर द रोल नंबर अब यहां क्या करेंगे हम स्कैन कर लेंगे यह तो हम करते ही आए हैं कैसे करते हैं स्कैन एफ माफ कीजिएगा स्कैन एफ क्या है रोल नंबर रोल नंबर है एक इंटी जर तो होगा परसेंटाइल डी और कैसे लेंगे एन पर्सन लगाएंगे और उसके बाद मेंबर को एक्सेस कैसे करना है देखिए मेरे को पता है नाम तो इसका राम है या राम की जगह इसको क्या ले लेते हैं स्टूडेंट वन क्योंकि नाम तो भी हमको पता नहीं है तो उसको हम बोल देते हैं ये एक स्टूडेंट वन है है ना मैंने स्टूडेंट वन लिया है तो स्टूडेंट वन डॉट अब देखिए जैसे ही मैंने डॉट लगाया मेरा जो कोडिंग स्टूडियो मेरे को दिखा रहा है कि हर स्टूडेंट वन के अंदर मार्क्स नेम और रोल नंबर है तो मुझे यहां क्या लेना है रोल नंबर लेना है तो हम एक्सेस कैसे करेंगे जो भी आपका वेरिएबल है उसमें डॉट का इस्तेमाल आपको करना है डॉट लगाकर आपको रोल नंबर मिल जाएगा तो स्टूडेंट वन का रोल नंबर कैसे मिलेगा स्टूडेंट 1 ड रोल नंबर और हम स्कन एफ में क्या पास करते हैं उसका एड्रेस पास करते हैं तो यहां मैंने लगा दिया एड्रेस ऑपरेटर तो क्या होगा ये बेसिकली जो भी यहां से रोल नंबर एंटर होगा उसको ये उठाकर कहां डाल देगा स्टूडेंट वन के अंदर जो रोल नंबर है उसके अंदर ये डाल देगा फिर क्या करेंगे फिर करेंगे प्रिंट एफ एंटर द नेम है ना अभी मैं मान कर चल रहा हूं कि नेम जो है वो सिर्फ सिंगल फर्स्ट नेम आने वाला है तो हम कैसे ले लेंगे इसको डायरेक्टली स्कैन एफ से ले लेंगे तो बोलता हूं स्कैन एफ स्पेस छोड़कर बोलेंगे हम परसेंटाइल ए और यहां क्या है देखिए हमने नाम सिर्फ 10 कैरेक्टर्स का दिया है और तो बेसिकली बैक स् जीरो लगाने के बाद नाइन कैरेक्टर्स ही हमारे पास बचते हैं तो हम स्कैनफ को बोलेंगे कि भाई मैक्सिमम नाइन कैरेक्टर्स हम यहां पर ले सकते हैं और कैसे देंगे डायरेक्टली नाम तो बेसिकली स्ट्रिंग लेते हुए हमको एड्रेस पास नहीं करना पड़ता तो मैं बोलूंगा स्टूडेंट वन डॉट नेम के अर अंदर आप इसको उठाकर रख दीजिए और लास्ट में क्या करेंगे लास्ट में उसके लेंगे मार्क्स नाउ एंटर द मार्क्स और मार्क्स कैसे लेंगे फिर से करेंगे स्कैन एफ एक जनरली स्पेस छोड़ देना चाहिए परसेंटाइल एफ और क्या लेना है हमको स्टूडेंट वन डॉट मार्क्स और क्योंकि ये फ्लोटिंग नंबर है तो कैसे देंगे एड्रेस ऑपरेटर यहां पे हम इसको पास करेंगे तो देखिए इससे क्या होगा तीनों की तीनों जो चीजें हैं वो हमको मिल जाएंगी मेन चीज यहां सीख क्या रहे हैं मेन चीज देख रहे हैं कि स्टूडेंट वन की चीजों को हम कैसे एक्सेस कर रहे हैं हर जगह डॉट लगाकर आप इनको एक्सेस कर सकते हैं अब क्या करते हैं यह जो डिटेल्स हमने ली है इनको एक बार प्रिंट कर देते हैं क्विकली तो बोलता हूं प्रिंट एफ हेयर आर द स्टूडेंट डिटेल्स और वो कैसे मिलेंगी ब ए लगा देते हैं एक बार एक और प्रिंट लिखेंगे अब तीनों चीजें हम यहां पर प्रिंट कर देते हैं क्या-क्या रोल नंबर रोल नंबर कैसे जाएगा परसेंटाइल डी से कॉमा नेम परसेंटाइल ए से कॉमा मार्क्स परसेंटाइल एफ से है ना और तीनों चीजों को अब यहां पर पास कर देंगे कैसे पास करेंगे स्टूडेंट व डॉट रोल नंबर कॉमा स्टूडेंट 1 डॉट नेम हर जगह चाहे वो डालना हो चाहे निकालना हो एक्सेस कैसे होगा डॉट लगाकर हो जाएगा स्टूडेंट 1 डॉट मार्क्स और लास्ट में क्या करेंगे रिटर्न जीरो देखिए पूरा का पूरा मेरा कोड यहां पर बनकर तैयार हो गया अब देखिए धीरे-धीरे हम कितने बड़े-बड़े कोड यहां पर लिखने लगे हैं तो स्टूडेंट हमने स्ट्रक्चर बना लिया स्ट्रक्चर का हमने एक वेरिएबल डिक्लेयर किया और उसके बाद हमने देखा कैसे डॉट लगाकर आप इन चीजों को इसके जो अंदर का जो सामान है रोल नंबर मार्क स्टूडेंट उनको एक्सेस कर सकते हैं एक बार इसको चलाकर देखते हैं मैं बोलता हूं जीसीसी स्टूडेंड स - स्टूडेंट डॉट आउट देखिए कोई भी एरर नहीं आई है क्लीन हो गया है इसको फिर से चलाते हैं स्टूडेंट डॉट आउट ये क्या बोल रहा है प्लीज एंटर स्टूडेंट डिटेल्स एंटर द रोल नंबर मान लीजिए रोल नंबर है 32 नाम क्या है नाम है मान लीजिए राम और मार्क्स कितने आए मार्क्स आए 99.8 7 ये मैंने एंटर किया ये बोल रहा है हियर आर द स्टूडेंट डिटेल्स रोल नंबर है आपका 32 नाम है आपका राम और मार्क्स आए हैं 99.8 7003 देखिए क्या हुआ जनरली जब आप फ्लोटिंग पॉइंट नंबर्स लेते हैं तो क्या होता है बाद में जाकर जो बेसिकली डेसीमल है वो राउंड ऑफ होने की कोशिश करता है तो हमको भी यहां क्या करना चाहिए था प2 ही प्रिंट करना चाहिए अगर पॉट 2f करेंगे तो क्या होगा 99.8 से तक प्रिंट करके बाकी सबको ये ट्रंकेट्स जो हम एक्चुअली मेन समझना चाह रहे थे कि एक्सेस कैसे करेंगे स्टूडेंट डॉट रोल नंबर यानी आप डॉट लगाएंगे मेन वेरिएबल पर तो आपको मिल जाएगा नेस्टेड एक्सेस का यहां पर क्या मतलब है देखिए आप स्ट्रक्चर के अंदर भी स्ट्रक्चर कर सकते हैं जैसे कि मान लीजिए मुझे एक एड्रेस नाम का स्ट्रक्चर बनाना है मैंने एक एड्रेस नाम का स्ट्रक्चर बना लिया है ना अगर मैं एड्रेस नाम का स्ट्रक्चर बनाऊंगा उसके अंदर क्या होगा मान लीजिए हाउस नंबर क्या है है ना आप कौन सी स्ट्रीट पर रहते हैं आपका पिन कोड क्या है आपका सिटी क्या है स्टेट क्या है कंट्री क्या है ये मैंने बहुत सारे उसके बेसिकली मेंबर बना लिए और उसका एक बना लिया स्ट्रक्चर और अब मैं स्टूडेंट जब बना रहा था तो मेरे को लगा यार स्टूडेंट का एड्रेस भी हमको लेना है तो आप क्या कर सकते हैं स्टूडेंट के अंदर एड्रेस वाला भी यूज़ कर सकते हैं क्योंकि क्या है वो अब एक नॉर्मल डेटा टाइप बन चुका है तो जैसे मैं यहां इंट केर फ्लोट माफ कीजिएगा इंट केर फ्लोट यूज़ कर सकता हूं ऐसे ही स्ट्रक्चर के अंदर जो बेसिकली मेंबर है वो दूसरा स्ट्रक्चर भी हो सकता है तो ये बोल रहा है अगर स्ट्रक्चर के अंदर स्ट्रक्चर है तो आप किस तरह से लेंगे मान लीजिए स्कूल एक स्ट्रक्चर था जिसके अंदर क्लास है जिसके अंदर स्टूडेंट है जिस इसके अंदर रोल नंबर है तो आप डॉट डॉट डॉट डॉट लगाते जाएंगे आपको मेंबर जो है वो मिलते जाएंगे ठीक है तो ये हुआ कि स्ट्रक्चर की हमको अंदर की चीजों को एक्सेस कैसे करना है अब एक बार ये समझते हैं कि जब हम स्ट्रक्चर का हमने नया वेरिएबल यहां डिक्लेयर तो किया क्या किया हमने हमने तो बड़ी आसानी से माफ कीजिएगा हमने तो बड़ी आसानी से क्या किया यहां लिख दिया स्ट्रक्ट स्टूडेंट स्टूडेंट वन पर अब स्टूडेंट वन को मेमोरी कैसे मिलेगी इसके पास तो एक रोल नंबर है एक नेम है एक मार्क्स है तो ये मेमोरी किस हिसाब से डिवाइड होगी तो देखिए क्या होगा मान लीजिए यहां पर क्या है ये आईडी को हम बोल देते हैं ये रोल नंबर है है ना और ये फ्लोट ये शायद मैंने गलत लिख दिया है फ्लोट में सैलरी की जगह ये क्या है मार्क्स है है ना तो अब देखिए रोल नंबर क्या है रोल नंबर एक इंटी जर है तो इंटी जर कितने बाइट्स ले रहा है मान लीजिए चार बाइट्स ले रहा है हम यहां क्या अज्यू कर रहे हैं इंटी जर ले रहा है चार बाइट्स कैरेक्टर 10 नाम का हमारा एरे है वो कितने लेगा पर कैरेक्टर एक वन बाइट का होता है तो वो लेगा टोटल 10 बाइट्स और फ्लोट जो है वो भी चार बाइट का है तो वो भी लेगा चार बाइट तो ये होगा क्या एक साथ पूरा का पूरा जो स्ट्रक्चर है वो चार बाइट 10 बाइट और चार बाइट टोटल 18 बाइट्स का हो जाएगा और स्ट्रक्चर जो होता है वो भी क्या होता है हमेशा कंटीन्यूअस ब्लॉक होता है यानी एक जब स्टूडेंट को को मेमोरी देगा तो क्या करेगा पूरे के पूरे को एक साथ देगा यानी स्ट्रक्चर्स ऑक्यूपाइड अस मेमोरी स्पेसेस तो ये क्या होगा जहां पर भी एक स्टूडेंट को इसको जगह चाहिए तो उसको एक साथ 18 बाइट्स चाहिए होंगे और 18 बाइट से ही क्या होगा ये पूरे के पूरे को असाइन करेगा और 18 बाइट्स को कैसे डिवाइड कर देगा चार बाइट्स दे देगा हमारे रोल नंबर को चार बाइट्स दे देगा हमारे मार्क्स को और बीच में 10 बाइट जो है वो देगा हमारे नाम को क्योंकि कैरेक्टर एक बाइट का है और हमने कहा है 10 कैरेक्टर का हमारा नाम जो है वो हो सकता है ठीक है कई बार इसको इक्वल करने के लिए कंपाइलर पैडिट भी ऐड कर देता है बट आपको उसकी चिंता करने की जरूरत नहीं है आप ये मान करर चलिए जितना भी एम आता है जनरली साइज उतना ही होता है उसके बाद भी अगर आपको एग्जैक्ट साइज कैलकुलेट करना है बेस्ट तरीका वही है जो हम अभी तक करते आए हैं यानी साइज ऑफ ऑपरेटर आप साइज ऑफ ऑपरेटर लगाइए और क्या मिलेगा आपको उस ऑब्जेक्ट का एक्चुअल जो साइज है इस समय वो मिल जाएगा अगर कंपाइलर ने कुछ पडि ऐड की है पैडिट का क्या मतलब है वो कुछ एक्स्ट्रा मेमोरी दे देता है ताकि उसके टेबल सही चले मान लीजिए उसने क्या किया हुआ है मेमोरी को 20-20 में डिवाइड किया हुआ है आपकी 18 बाइट आ रही है तो आपको भले ही 18 यूज़ करनी है वो आपको साइज फिर भी 20 बाइट का ही देगा जैसे आप घर भी खरीदने जाते हैं तो प्लॉट डेफिनेट साइज होता है ना आप ये तो नहीं कह सकते कि नहीं मुझे एगजैक्टली इतनी ही साइज का प्लॉट चाहिए वो बोलेगा भाई या तो इससे छोटा ले लीजिए या बड़ा ले लीजिए तो यहां छोटा तो वो कर नहीं सकता क्योंकि आपने बोला है मुझे 18 बाइट तो डाटा चाहिए ही चाहिए तो क्या करेगा उससे बड़े वाला एक मेमोरी स्पेस आपको दे देगा पैडिट के बारे में बहुत ज्यादा सोचने की जरूरत नहीं है आपको समझना क्या है कि जो मेमोरी मिलती है स्ट्रक्चर को क्या मिलती है कंटीन्यूअस मिलती है यानी एक साथ मिलती है एरे की तरह ठीक है तो ये हुआ उसका मेमोरी बेसिकली मेमोरी एलोकेशन कैसे होगा नेक्स्ट पॉइंट पर हम आएंगे क्या करना होगा मुझे अगर मुझे डायरेक्टली स्टूडेंट का मैं मैं डिक्लेयर कर रहा हूं वहीं पर मुझे वैल्यूज भी देनी है तो देखिए हमने क्या दिखाया है चार तरह के इनिश इइ जेशन यहां पर हो सकते हैं कौन-कौन से डायरेक्ट इनिश इजेशन डेजिग्नेट इनिश इजेशन जीरो इनिश इजेशन एंड कॉपी इनिश इजेशन तो एक-एक करके हम देखते हैं यहां पर कि किस तरह से इनको किया जा सकता है पहले वहां अपने आप जाकर चलाकर देखते हैं फिर वापस इधर ही आकर हम इसको देखेंगे तो स्टूडेंट की क्या करता हूं मैं स्टूडेंट की एक कॉपी बना लेता हूं इसको कर लेते हैं रिनेम और इसको कर देते हैं इनिश आइजन इलाइट स है ना तो इलाइट स में क्या करेंगे देखिए हमने मेन के अंदर जो भी लिखा है इस सबको हम कर देंगे गायब हम यूज़ क्या करने वाले हैं जो हमने स्टूडेंट स्ट्रक्चर बनाया था इसको हम एज इट इज यूज़ कर लेते हैं अब चार तरह के इनिश इइ जेशन हमने बोला हो सकते हैं क्या मान लीजिए मैंने बनाया स्टूडेंट व तो मैं क्या करता हूं इसको नाम छोटा रखने के लिए ताकि हमारी जगह थोड़ी कम यूज़ हो मैं इनका नाम रखूंगा s1 s2 s3 है ना तो मैंने लिखा s1 आप कैसे कर सकते हैं ब्रैकेट लगाकर जैसे आप माफ कीजिएगा एरे को इनिशियलिज्म लगाकर आप इसको भी इनिशियलिज्म कैसे देंगे जिस सीक्वेंस में आपने यहां पर डिक्लेयर किया है उसी सीक्वेंस में इनकी वैल्यू देते जाइए तो मान लीजिए मैं क्या बोलूंगा मेरा स्टूडेंट वन है उसका नाम क्या है उसका नाम है राम और उसके मार्क्स कितने हैं मार्क्स है 99.8 तो देखिए क्या हुआ ये इनिश इज कर लेगा स्टूडेंट s1 को क्या करेगा इसका ये रोल नंबर हो जाएगा सबसे पहले रोल नंबर है पहली वैल्यू जाएगी रोल नंबर के अंदर उसके बाद है नाम राम जाएगा इसके अंदर और उसके बाद है मार्क्स मार्क्स जाएगा इसके अंदर तो अगर मैं इसको प्रिंट करने की कोशिश करूं तो प्रिंट कैसे करेंगे देखिए मैं क्विकली इसको प्रिंट करता हूं प्रिंट f क्या-क्या हमको देना है रोल नंबर यह होगा परसेंटाइल डी नेम परसेंटाइल s एंड अ मार्क्स परसेंटाइल पुरानी वाली गलती नहीं करेंगे पट f है ना अब हमको क्या-क्या चाहिए कैसे एक्सेस करेंगे s1 डॉट सबसे पहले क्या चाहिए रोल नंबर देन s1 डट नेम एंड देन s1 डट मार्क्स ठीक है ये तीनों की तीनों हमने चीजें इसकी प्रिंट कर दी और रिटर्न जीरो कर दिया एक बार इसको चलाकर देख लेते हैं थोड़ा बड़ा कर लेते हैं जीसीसी इनिला ड सी माइन कोलाइजन डॉट आउट है ना यह हमारा बनके तैयार हो गया है कोई एरर नहीं है डॉटलाइन ड आट देखिए इसने क्या किया तीनों चीजें यहां पर प्रिंट कर दी है रूल नंबर वन भी आ गया है राम भी ठीक से असाइन हुआ है और मार्क्सस भी 99.8 असाइन हुए है यानी s1 के अंदर तीनों की तीनों चीजें ठीक से पहुंच गई है इसको क्या बोलते हैं इसको बोलते हैं डायरेक्ट असाइनमेंट दूसरा असाइनमेंट का तरीका क्या है दूसरा असाइनमेंट का तरीका है मान लीजिए हम लिखते रहते हैं क्या डायरेक्ट इनिश इजेशन ठीक है दूसरा तरीका क्या है जो एक नया आया है मॉडर्न तरीका है वच इज डेजिग्नेट इनिश इजेशन जिसमें आप क्या कर सकते हैं स्पेसिफिक चीजों को इनिश इइ कर सकते हैं यानी मैं ये बोल सकता हूं मेरा ऑर्डर पता नहीं क्या होगा मैं सबसे पहले क्या बोलूंगा मैं ये बोलूंगा भाई मैं सबसे पहले तो नाम लिखने वाला हूं यहां पर तो मैं बोलूंगा डॉट नेम आपको सिर्फ डॉट लगाना है पहला आपको लगाने की जरूरत क्यों नहीं है क्योंकि अभी ऑब्जेक्ट तो बना ही नहीं है ऑब्जेक्ट आप डिफाइन करने की कोशिश कर रहे हैं तो आप क्या कर सकते हैं डायरेक्ट डॉट नेम और उसका नाम आप दे सकते हैं तो आप क्या करेंगे भाई नाम की वैल्यू दे दीजिएगा राम है ना उसके बाद मैं क्या बोल रहा हूं मान लीजिए डॉट मार्क्स की वैल्यू आप दे दीजिएगा अ 99.8 है ना और उसके बाद मैं दे रहा हूं रोल नंबर डॉट रोल नंबर की आप वैल्यू दे दीजिएगा क्या टू यहां राम की जगह क्या दे देते हैं मान लीजिए श्याम दे देते हैं और मार्क्स कितने कर देते हैं श्याम के मार्क्स कर देते हैं 7.12 तो देखिए दूसरा तरीका क्या है दूसरा तरीका मैं आपको दिखा रहा हूं कि भाई मैं मैं इस ऑर्डर पर रिलाई नहीं करना चाह रहा हूं कल को मान लीजिए मैंने बहुत सारा कोड लिखकर छोड़ दिया है कोई और आया उसने यहां रोल नंबर स्टूडेंट के साथ कुछ और ऐड कर दिया है ना बाद में उसको लगा रे यार यहां पर कुछ ऐड होना चाहिए यहां सेकंड लाइन में आकर कुछ ऐड कर दिया तो क्या होगा सारे के सारे जो आपने इनिश इजेशन किए हुए हैं वो सब खराब हो जाएंगे क्योंकि वो ऑर्डर पर डिपेंडेंट है कि यही तीन चीजें होंगी और इसी ऑर्डर में होंगी तो दूसरा तरीका क्या है यह नया तरीका है जिसमें आप बेसिकली चीजों का जो आपका अंदर के मेंबर्स हैं मेंबर्स के नाम के साथ चीजों को इनिशियलिज्म नाम दूंगा डॉट मार्क्स मार्क्स दूंगा डॉट रोल नंबर रोल नंबर दूंगा इसमें कोई ऑर्डर नहीं है जरूरी नहीं है कि आप सारी चीजों को इनिश इइ करें यानी मैं हो सकता है मैं बोलूं नहीं मैं रोल नंबर की वैल्यू नहीं देना चाहता मैं सिर्फ दो चीजों की वैल्यू देना चाहता हूं दिस इज आल्सो ओके है ना तो अब इसको प्रिंट करते हैं इसको हम कर लेते हैं कॉपी माफ़ कीजिएगा इसको मैंने s1 ही दे दिया और नाम हो जाएगा इसका s2 तो अब हम यहां क्या देंगे मैं बोल दूंगा कि भैया s2 का भी जरा रोल नंबर प्रिंट कर दीजिए s2 का भी नाम प्रिंट कर दीजिए और s2 का भी मार्क्स प्रिंट कर दीजिए है ना एक बार इसको दोबारा से कंपाइल करते हैं कहीं हमने कोई गड़बड़ तो नहीं की हमारी अंडरस्टैंडिंग में कोई प्रॉब्लम तो नहीं है इसको करेंगे कंपाइल कंपाइलेशन देखिए सक्सेसफुल हो गया है उसके बाद करेंगे इसको रन देखिए दोनों के ही यहां पर चीजें प्रिंट हो गई है बै ए नहीं दिया हमने वो और लगा देते हैं ताकि चीजें जो है क्लीयरली हमको दिख जाए है ना फिर से कंपाइल किया क्लीन करते हैं और फिर से करते हैं इसको रन तो देखिए रोल नंबर वन नेम राम मार्क्स 99.8 पहले प्रिंट हुआ रोल नंबर टू नेम श्याम मार्क्स 70.1 प्रिंट हुआ यानी यह वाला भी जो मेरा इनिला जशन है ठीक से चल गया और नाम क्या है इसका डेजिग्नेट इनिला इजेशन ठीक है तीसरा क्या है जीरो इनिला इजेशन देखिए यह तो सबसे आसान है यानी मैं ये चाह रहा हूं कि सबकी वैल्यू जीरो हो जाए अच्छा सर नाम की वैल्यू जीरो कैसे होगी देखिए नाम में भी वो क्या करेगा अंदर हैं तो सब कैरेक्टर्स ही ना सबके नाम क्या कर देगा पूरे के पूरे जो कैरेक्टर एरे है उसमें भी जाके जीरो जीरो डाल देगा तो मैं क्या बोल सकता हूं मैं बोल सकता हूं स्टूडेंट s3 = इक्व ट 0 ये क्या करता है रो इनिश इजेशन सब वैल्यूज को जाकर अंदर जीरो कर देता है एक बार इसको भी प्रिंट करके देख लेते हैं हमको पता चल जाएगा कि वैल्यूज जो है क्या-क्या मिली है तो मैं बोलूंगा s3 का रोल नंबर जरा प्रिंट करिए s3 का नाम जरा प्रिंट करिए और s3 के मार्क्स जरा आप प्रिंट करिए फिर से इसको कंपाइल करते हैं कोई दिक्कत नहीं है रन करके देखते हैं तो देखिए क्या हुआ नाम में भी इसने कुछ प्रिंट नहीं किया क्योंकि इसने इसको नल कैरेक्टर मान लिया होगा बाकी क्या है रोल नंबर वन नाम राम ये ये दो बाकी दोनों तो बिल्कुल ठीक आए हैं तीसरे में देखिए रोल नंबर भी जरो हो गया और मार्क्स भी इसके जरो हो गए हैं तो इसलिए इसने प्रिंट करते हुए इसको क्या कर दिया 0.00 यहां पर कर दिया है तो ज़ीरो इनिश जेशन क्या है अगर आप सब चीजों की बस एक इनिशियल वैल्यू चाहते हैं तो आप क्या कर सकते हैं पूरे में जीरो असाइन कर सकते हैं लास्ट क्या है लास्ट है कॉपी इनिश जशन देखिए कॉपी इनिश इजेशन क्या करता है अगर आपके पास ऑलरेडी कोई वैल्यू है जिसकी आप कॉपी बनाना चाहते हैं तो आप बस डायरेक्टली उसको असाइन कर सकते हैं कैसे कॉपी जैसे मैं चाहता हूं कि यार इसका जो मेरा इसको मैं कर लेता हूं कॉपी फिर से मान लीजिए मैं s4 डिक्लेयर करने की कोशिश कर रहा हूं कि s4 जो है ना वो राम का ही होना चाहिए बस एक आद चीज मुझे उसमें चेंज करनी है तो मैं क्या कर सकता हूं लिख सकता हूं s4 = s1 उसके बाद मान लीजिए मैं क्या करता हूं इसका रोल नंबर चेंज कर देता हूं s4 ड रोल नंबर इ इक्वल ट 4 यानी मेरे को बाकी चीजें तो s1 वाली ही चाहिए थी तो मैंने पहले s1 की सारी वैल्यूज को कॉपी लिया और उसके बाद उसका रोल नंबर चेंज करके क्या कर दिया है उसका रोल नंबर चेंज करके कर दिया है फोर तो अब मैं क्या करूंगा इसको भी प्रिंट कर लेते हैं तो मैं बोलूंगा s4 यहां पर भी क्या बोल देंगे s4 और यहां पर भी क्या बोल देंगे s4 इसको फिर से कंपाइल करते हैं कंपाइलेशन सक्सेसफुल रन किया देखिए चौथे में क्या आ गया बस रोल नंबर मैंने इसका चेंज करके कर दिया है फो बाकी नेम राम ही रहा और मार्क्स 99.9 ही रहे तो ये क्या करेगा एक-एक वैल्यू को रोल नंबर को रोल नंबर में कॉपी करेगा नाम को नाम में कॉपी करेगा मार्क्स को मार्क्स में कॉपी करेगा तो आपको कॉपी इनिश आइजन करते हुए क्या ध्यान रखना है दोनों तरफ टाइप सेम होना चाहिए अदर वाइज वो कैसे करेगा आप अगर मान लीजिए एंप्लॉई को स्टूडेंट में असाइन करने की कोशिश करेंगे अगर हमने दो अलग-अलग स्ट्रक्चर बनाए हुए हैं तो वो काम यहां पर ठीक से नहीं हो पाएगा है ना तो इनिश इजेशन के चारों के चारों तरीके हम सीख गए हैं और किस तरह से ये काम करता है ये हमने यहां पर देख लिया है इनिश इजेशन के बाद हम क्या देखेंगे एरे ऑफ स्ट्रक्चर यानी अब हमने जो ओरिजिनल प्रॉब्लम है उस पर वापस आ जाते हैं ओरिजिनल प्रॉब्लम हमारी क्या थी ओरिजिनल प्रॉब्लम जो हमने नीड में देखी खी थी वो थी क्या कि भाई हमारे पास तो पांच रोल नंबर पांच नाम और पांच मार्क्स थे ये आप किस तरह से दिखाएंगे स्ट्रक्चर में है ना तो हम क्या करते हैं जो शुरुआत वाला था नीड इसी की एक बना लेते हैं कॉपी इसको करते हैं रिनेम और इसका नाम रख देते हैं एरे है ना और इसमें हमको एक चीज और क्या चाहिए जो हम अभी स्टूडेंट में देख रहे थे जो हमारा स्टूडेंट स्ट्रक्चर है इसको भी कॉपी कर लेते हैं ताकि इसमें हमारी कोई डिफरेंस जो है वो ना रहे है ना तो अगर मुझे एरे ऑफ़ स्ट्रक्चर बनाना है तो देखिए हमने पहले क्या बनाया हुआ था हमने पहले यह बनाया हुआ था यह रोल नंबर है यह नाम है यह मार्क्स है तो देखिए एरे आप डिक्लेयर कैसे करेंगे जैसे नॉर्मल एरे डिक्लेरेशन होता था वैसे ही करेंगे इनिश इइ कैसे करेंगे जैसे हम एरे को पहले इनिशियलिज्म जो स्टूडेंट है उसका नाम वन यहां पर आ रहा था नाम यहां पर आ रहा था मार्क्स यहां पर आ रहे थे अब अगर मैं इसको स्टूडेंट की फॉर्म में करूंगा तो देखिए कितने अच्छे से कर सकता हूं अब मैं यहां पर क्या करूंगा पहले मैं बोलूंगा स्ट्रक्ट स्टूडेंट ये हो गया मेरा टाइप हमेशा आपको स्ट्रक्ट साथ में लिखना पड़ेगा मैं बोलता हूं अब मैं जो एरे बना रहा हूं वो बनाऊंगा मैं स्टूडेंट्स का कितने स्टूडेंट्स का पांच स्टूडेंट्स का एरे बना रहा हूं ये मैंने कर दिया इसको इनिश आइज अब मैं क्या करूंगा अंदर एक-एक की वैल्यू देना स्टार्ट करूंगा देखिए एरे में क्या होता है एरे को आप जब भी इनिश इइ करते हैं वैल्यू क्या होनी चाहिए कॉमा सेपरेटेड वैल्यूज होनी चाहिए तो अंदर जो भी होगा वो हम क्या करेंगे कॉमा लगा लगा करर यहां पर इनको लिखते रहेंगे तो ये हुई पहली वैल्यू ये हुआ मेरे पहले स्टूडेंट का डाटा फिर दूसरे स्टूडेंट का डाटा ऐसे ही आपको क्या करना है पांचों स्टूडेंट का डटा देना है तीसरे का चौथे का पांचवे का अब अंदर में डाटा भरना शुरू करूंगा और सिंगल को इनिश इज कैसे करना है ये तो मेरे को आता है एक स्टूडेंट कैसे पहले का य लिखेंगे नाम तो होगा वन बेसिकली रोल नंबर फिर नाम फिर उसके मार्क्स ऐसे दूसरे का है ना मैं पहले टा जल्दी जल्दी भरने की कोशिश करता हूं यह होगा थ फर फ और य हम क्या कर सकते हैं इनको कर सकते हैं कॉपी पेस्ट तो श्याम आएगा नाम इसका यहां पर फिर आएगा सीता फिर आएगा गीता फिर आएगा समीर और लास्ट में आ जाएंगे इनके मार्क्स है ना तो 45.5 हम ऑलरेडी रख चुके हैं अगले के मार्क्स आएंगे यहां पर अगले के मार्क्स आएंगे यहां पर सीता के देन आएंगे गीता के मार्क्स व्हिच इज़ 95.5 एंड फिर आएंगे समीर के मार्क्स व्हिच इज़ 99.9 देखिए उतना फर्क तो हमको देखने में नहीं लग रहा है सर यहां पर भी सेम वैल्यूज लगानी पड़ी थी यहां पर भी सेम वैल्यूज लगानी पड़ी है देखिए मेन फर्क है ऑर्गेनाइजेशन का यानी यहां पर राम का डाटा जो है वह सारा का सारा कैसे आ रहा है साथ में आ रहा है है ना पूरे राम का डाटा कहां पर है राम का डाटा एक साथ है श्याम का डाटा एक साथ है सीता का डाटा एक साथ है और मुझे एरे भी जो बनानी पड़ी मुझे सिर्फ एक सिंगल एरे बनानी बनानी पड़ी स्टूडेंट्स की मुझे सिर्फ स्टूडेंट्स को ही मैनेज करना है हर स्टूडेंट के अंदर अब चीजों को मुझे मैनेज करने की जरूरत नहीं है है ना तो इसको मैं हटा देता हूं जो हम पहले यूज कर रहे थे अब मैं स्टूडेंट के बेस पर काम कर सकता हूं और जो मैं एरे बनाकर इसको प्रिंट भी करना चाह रहा था अब मैं क्या करूंगा अब मैं लिखूंगा स्टूडेंट्स डॉट सब माफ कीजिएगा स्टूडेंट्स आई हमको क्या चाहिए कौन सा स्टूडेंट चाहिए स्टूडेंट आई चाहिए उसका चाहिए हमको नाम फिर क्या हर जगह आप क्या करेंगे स्टूडेंट्स डॉट लगाते जाएंगे स्टूडेंट्स आई का हमको चाहिए रोल नंबर और स्टूडेंट्स आई के हमको चाहिए मार्क्स इंडिविजुअल एरे आपको एक्सेस करने की जरूरत नहीं है आप स्टूडेंट्स आई को एक्सेस करेंगे तो ये मिल जाएगा इसको भी छोटा करने के लिए आप इवन यहां पर क्या कर सकते हैं स्टूडेंट्स आई के लिए अलग रेफरेंस भी निकाल कर रख सकते हैं बट एनीवे उसकी इतनी ज्यादा जरूरत यहां पर नहीं है तो मैं क्या करूंगा स्टूडेंट्स आई नेम स्टूडेंट्स आई रोल नंबर स्टूडेंट्स आई मार्क्स एक बार इसको चलाकर देखते हैं तो कंपाइल करेंगे जीसीसी रेड स - o रेड आउट कंपाइल हो गया कोई प्रॉब्लम नहीं है / एरेड आट चलाएंगे तो देखिए क्या हुआ जो जिस तरह का आउटपुट पहले आया था उसी तरह का आउटपुट यहां आ गया स्टूडेंट नेम राम रोल नंबर वन मार्क्स ये श्याम रोल नंबर टू मार्क्स ये जो हमने सबसे पहले प्रोग्राम में किया था कि नीड क्या है वही काम यहां पर हो गया बट देखिए अब ये जो इनिश इजेशन है कितना आसान लग रहा है सिंपल लग रहा है एक ही एरे मेरे को मैनेज करना है डेटा जो है वो क्लस्टर्ड टुगेदर है एक स्टूडेंट का डटा एक साथ यहां पर है और हमने जब प्रिंट किया है तो भी मेरे को एक ही एरे यहां पर मैनेज करना है है ना तो पिछली बार से ये वाला काम कितना सिंपल अब यहां पर हो गया है ये देखिए सेम ही जो चीज है वो यहां पर आपको एग्जांपल में भी दिखाई गई है आउटपुट एगजैक्टली वही है जो पहली बार भी आउटपुट आया था तो एरे ऑफ स्ट्रक्चर्स को हम इस तरह से दोस्तों मैनेज करते हैं है ना अब आ जाते हैं पॉइंटर पर देखिए पॉइंटर ऐसी चीज है एक बार अगर आपने पढ़ ली तो आपकी जान वो कभी भी नहीं छोड़ता है तो हमको क्या देखना है भाई स्ट्रक्चर हमने देख लिया एरे हमने बना लिया अगर एक स्ट्रक्चर का हमको पॉइंटर बनाना है तो कैसे बनाएंगे इंटी जर पॉइंटर हमने देखा था कैसे बनाते हैं कैरेक्टर पॉइंटर भी हमने देखा नंबर के हमने देख लिए पॉइंटर कैसे बनाते हैं स्ट्रक्चर का पॉइंटर कैसे बनेगा देखिए एगजैक्टली सेम है अगर मैंने एक स्टूडेंट को डिफाइन किया था इस तरह से नॉर्मल स्टूडेंट स्टूडेंट तो पॉइंटर भी आप बस स्टार पॉइंटर लगाकर ही बनाएंगे तो एक बार मैं इसको बनाकर आपको दिखाता हूं क्या करते हैं एरे की एक बना लेते हैं अपन यहां पर कॉपी और उसका नाम हम रख लेते हैं रिनेम पॉइंटर कॉपी क्यों बना रहे हैं क्योंकि मैं बस स्ट्रक्चर जो है उसको रीयूज यहां पर करने वाला हूं जो मेन के अंदर हमने लिखा है इस सबको हम देंगे उड़ा एक यहां से बस राम को जो है हम निकाल लेते हैं एज अ स्टूडेंट और बाकी सबको हम यहां से कर देते हैं डिलीट ठीक है और अब हम बनाएंगे बस एक स्टूडेंट जो कि होगा राम देखिए पहले एक बार दोबारा देख लेते हैं मैंने कोड क्या रखा है कुछ नहीं सिर्फ एडीओ ए जो हमारा इनिश इजेशन है वो बचा है स्टूडेंट स्ट्रक्चर जो हम लगातार इस्तेमाल करते आ रहे हैं इसको मैंने एज इट इज रखा है और एक वेरिएबल बनाकर मैंने इनिश इइ कर लिया यानी मैंने एक बनाया स्ट्रक्ट स्टूडेंट स्टूडेंट जिसके अर होगा व राम और 45.5 अब मैं आपको ये दिखाने की कोशिश कर रहा हूं कि अगर मान लीजिए यहां मेरे पास एक दूसरा इंटी जर होता है ना मान लीजिए मेरे पास है एक इंटी जर a = 5 a का अगर मेरे को कोई a के लिए पॉइंटर बनाना तो हम कैसे बनाते मैं बनाता इंटी जर स्टार पीटीआर इ n पसन a ऐसे ही तो करते थे हम एक पॉइंटर डिक्लेयर करते थे a का एड्रेस उठाकर पॉइंटर के अंदर डाल देते थे एगजैक्टली सेम चीज यहां पर करनी है देखिए जैसे इसका टाइप इंट था इसका टाइप क्या है स्ट्रक्ट स्टूडेंट तो आपको क्या करना पड़ेगा आपको बना बनाना पड़ेगा स्ट्रक्ट स्टूडेंट मान लीजिए यहां मैं बनाऊंगा एसटी यू पीटीआर यानी स्टूडेंट पॉइंटर इक्वल टू स्टूडेंट का एड्रेस तो एंड एड्रेस स्टूडेंट तो एगजैक्टली सेम चीज आपको करनी है बस आपको ये ध्यान रखना है यहां टाइप आई एटी था यहां टाइप क्या है स्ट्रक्ट स्टूडेंट इसका टाइप है आप पॉइंटर जैसे डिक्लेयर करते थे वैसे ही पॉइंटर डिक्लेयर करेंगे आप जैसे एड्रेस किसी भी वेरिएबल का निकालते थे स्टूडेंट भी एक नॉर्मल वेरिएबल आप इसको ट्रीट करेंगे और स्टूडेंट का एड्रेस निकाल करर स्टूडेंट पॉइंटर में दे देंगे तो यहां पर भी हमने क्या बात की है डेफिनेशन क्या है स्ट्रक्चर पॉइंटर आर पॉइंट्स दैट पॉइंट टू अ स्ट्रक्चर वेरिएबल और कुछ नहीं है स्ट्रक्चर पॉइंटर अलग से कोई टर्म नहीं है जो भी ऐसा पॉइंटर है जो किसी स्ट्रक्चर के वेरिएबल को पॉइंट करता हो उसको आप क्या बोलते हैं स्ट्रक्चर पॉइंटर बोलते हैं दूसरा क्या जो पॉइंटर एरिथ मेे िक हमने किया था प्लस प्लस माइनस माइनस अब यहां पर क्या होगा मान लीजिए स्टूडेंट का साइज है 18 बाइट्स तो अब अगर मैं पॉइंटर को प्लस प्लस करने की कोशिश करूं पॉइंटर एरे है मेरे पास कोई मान लीजिए स्टूडेंट का मेरे पास कोई एरे है और उसके पॉइंटर में मैं प्लस प्लस करने की कोशिश करूं तो क्या होगा हर बार एड्रेस 18 वाइट्स जो है वो जंप कर रहा होगा 18 वाइट्स प्लस होगा या 18 बाइट्स माइनस होगा तो जो जो चीजें हमने बेसिकली एरिथ मेे िक के लिए भी या डेफिनेशन के लिए नॉर्मल डेटा टाइप्स के लिए पढ़ी वो सारी की सारी चीजें स्टूडेंट डेटा टाइप के लिए भी यहां पर वैलिड मानी जाएंगी ठीक है अब इसमें दूसरा क्या आएगा अब अगर पॉइंटर मेरे पास बन ही गया है तो मैं इसमें से चीजों को एक्सेस कैसे करूंगा देखिए उसमें एक्सेस करने के लिए कि स्पेशल ऑपरेटर होता है एरो ऑपरेटर यानी अभी तक मैं एक्सेस कैसे कर रहा था चीजों को मैं लगा रहा था डॉट है ना यानी मैं अगर स्टूडेंट की मेरे को चीजें प्रिंट करनी थी तो मैं क्या करता था डॉट लगाकर उनको को प्रिंट कर देता था तो मान लीजिए यहां मेरे को स्टूडेंट की चीजें प्रिंट करनी है तो मैं क्या करूंगा प्रिंट ए 10 बार अभी तक हम ये कर चुके हैं रोल नंबर कैसे करेंगे परसेंटाइल डी नेम कैसे करेंगे नेम कैसे करेंगे परसेंटाइल ए एंड मार्क्स कैसे करेंगे परसेंटाइल प2 f बस यही हम कर रहे थे और एक्सेस कैसे करेंगे माफ कीजिएगा स्टूडेंट डॉट सबसे पहले रोल नंबर देन स्टूडेंट डॉट नेम एंड देन स्टूडेंट डॉट मार्क्स इस तरह से कर रहे थे अब अगर सेम चीज मुझे ये मेरे पास अब पॉइंटर है और पॉइंटर से मुझे एक्सेस करना है तो पॉइंटर से मैं कैसे एक्सेस करूंगा देखिए मेरे पास स्टूडेंट पॉइंटर है मुझे पहले कहां जाना पड़ेगा मुझे पहले जाना पड़ेगा स्टूडेंट के पास जब मैं स्टूडेंट के पास चला जाऊंगा उसके बाद मैं उसकी चीजों को एक्सेस कर सकता हूं तो मैं यहां क्या लिखूंगा मेरे को अगर मुझे एसटी यू पॉइंटर कहीं पर मिला है स्टूडेंट पॉइंटर के बेस पर करना है तो पहले मुझे जाना पड़ेगा वैल्यू एट एड्रेस पे यानी वैल्यू एट स्टूडेंट पॉइंटर पर जाकर डॉट एक्सेस करना है और यहां यह क्लरिती स्टार्ट चलेगा मुझे लगाना पड़ेगा एक ब्रैकेट तो अब मैं क्या बोल रहा हूं मैं बोल रहा हूं स्टूडेंट पॉइंटर में जो एड्रेस है पहले उसकी वैल्यू पर जाइए उसकी वैल्यू क्या है उसकी वैल्यू होगी स्टूडेंट तो पहले स्टूडेंट पर जाइए फिर डॉट रोल नंबर लगाकर एक्सेस करिए तो ये तरीका है जो हम कर सकते हैं क्या कर सकते हैं स्टूडेंट डॉट रोल नंबर की जगह मैं क्या लिख सकता हूं एस्क स्टूडेंट पॉइंटर एस स्टूडेंट पॉइंटर एक बार इसको चला कर देख लेते हैं क्या ये वैल्यू ठीक से चल रही है तो क्या करेंगे जीसीसी पॉड स - o पॉड आउट कंपाइलेशन एकदम सक्सेसफुल है कोई एरर नहीं है चलाकर इसको देखते हैं पॉइंटर डॉट आउट देखिए दोनों की दोनों वैल्यूज ठीक से चल गई हैं बै स् n जो कि हम हमेशा ही मिस करते हैं इस बार भी हमने मिस कर दिया है फिर से कंपाइल करेंगे फिर से करेंगे इसको रन देखिए क्या हुआ है दोनों बार सेम वैल्यूज प्रिंट हो गई है यानी मैं ठीक से यहां पर एसटी पॉइंटर पर जा पाया हूं अब इसका नया तरीका क्या है बोल रहा है क्योंकि पॉइंटर इतना ज्यादा इस्तेमाल किया जाता है स्ट्रक्चर्स के लिए तो बोल रहा है आप स्टार एयू पॉइंटर लिखने के बजाय एक शॉर्टकट यूज कर सकते हैं जो कि है एरो ऑपरेटर और वो आप कैसे करेंगे डॉट से एक्सेस करने के बजाय आप एरो लगाकर एक्सेस करिए एरो लगाने का मतलब ही यह है कि भाई ये एक पॉइंटर है पहले जाइए इसके एड्रेस के पहले जाइए इसकी वैल्यू पर और वहां जाकर डॉट लगाना है बस ये इन दो चीजों को छोटा करके लिखने का एक तरीका है यानी मैं डायरेक्टली लिख सकता हूं एसटी पॉइंटर एरो रोल नंबर यानी अगर मेरे पास डायरेक्ट वेरिएबल है तो मैं लगा डॉट अगर मेरे पास पॉइंटर डू दैट वेरिएबल है तो मैं लगाऊंगा ये एरो फंक्शन तो हम क्या कर सकते हैं हर जगह क्या लगा सकते हैं राद देन ये ब्रैकेट लगाएं स्टार्ट लगाएं हम क्या लगा सकते हैं हर जगह लगा सकते हैं एरो सिंबल एक बार इसको फिर से चलाकर देखते हैं तीन बार हमने कर लिया प्रिंट करते हैं कंपाइल फिर से करते हैं रन देखिए तीनों बार सेम वैल्यू यहां पर प्रिंट हो गई है क्यों क्योंकि बेसिकली दिस सिंटेक्स एंड इस इसको बेसिकली एरो लगाना आर एगजैक्टली द सेम थिंग तो एरो सिंबल मैं आपको यही यहां समझाने की कोशिश करी गई है पर्पस क्या है यूज टू एक्सेस मेंबर्स ऑफ अ स्ट्रक्चर यूनियन थ्रू अ पॉइंटर एक यूनियन भी चीज होती है सी में अभी हम वो नहीं पढ़ रहे हैं उसके बाद बाद में करेंगे स्ट्रक्चर थ्रू अ पॉइंटर और सिंटेक्स क्या है आप पॉइंटर से डायरेक्टली एरो लगाकर एरो क्या हम लगा रहे हैं पहले डैश कोई सिंबल नहीं है आप लगाइए पहले डैश फिर लगाइए ग्रेटर दन सिंबल तो आपका एरो यहां पर बन जाएगा तो उसे क्या करते हैं आप एक्सेस कर सकते हैं अल्टरनेटिव क्या है जो हमको पता ही है आप पॉइंटर की पहले वैल्यू पर जाइए वैल्यू एट एड्रेस एंड देन उस पर डॉट मेंबर आप लगाकर एक्सेस कर सकते सकते हैं यूज़ केस क्या है बस यही आपको बार-बार डी रेफरेंसिंग ना करनी पड़े इसीलिए ये ऑपरेटर यूज़ होता है दिस इज टोटली ऑप्शनल आप ये बोले नहीं सर मुझे तो यही समझ आ रहा है जो हमने अभी यहां पर आपको करके दिखाया कि सर मैं तो हमेशा यही वाला एक्सेस करूंगा कि मैं पहले स्टार्ट लगाऊंगा ब्रैकेट लगाऊंगा फिर डॉट लगाकर एक्सेस करूंगा तो भी इसमें कोई दिक्कत नहीं है दिस इज जस्ट फॉर सिंपलीसिटी और ये यूज़ कहां होता है देखिए स्ट्रक्चर जब आप डीएससी वगैरह पढ़ना शुरू करेंगे तो चाहे लिंकलिस्ट हो चाहे ट्री हो उसमें बहुत ज्यादा आप उसको पॉइंटर से एक्सेस करते हैं क्योंकि लिंकलिस्ट में क्या होता है आपके पास जो एड्रेस है वो तो सिर्फ पहले वाले का होगा लिंकलिस्ट में फिर आप आगे मूव करते हैं पीछे मूव करते हैं बीच में चीजों को इंसर्ट करते हैं तो वहां पर आपके पास हर नोड का बेसिकली कोई वेरिएबल नहीं होता है सारी नोड्स आपस में कैसे कनेक्ट होती हैं एक दूसरे के पॉइंटर से कनेक्ट होती हैं इसलिए जब आप वहां पर पॉइंटर को यूज़ करते हैं तो वहां ये एरो जो सिंबल है मेरा इसको बहुत ज्यादा यूज किया जाता है ठीक है अब आएंगे हम स्ट्रक्चर एज फंक्शन आर्गुमेंट पे यानी हम क्या कर सकते हैं अब स्ट्रक्चर को हमने जब बना लिया है तो उसको ए फंक्शन आर्गुमेंट क्यों ना पास करें अब देखिए बेसिक चीज है हमने यहां पर जितने भी ये बनाए हैं स्टूडेंट हम क्या कर रहे हैं हर बार इसको प्रिंट अपने हाथ से करते जाते हैं तो क्या मेरे को एक ऐसा तरीका बनाना चाहिए ऐसा फंक्शन बनाना चाहिए जिसमें मैं स्टूडेंट को पास कर दूं और वो क्या करें उसी स्टूडेंट की सारी की सारी डिटेल्स को जो है प्रिंट कर दे है ना तो क्या करते हैं पॉइंटर ड स का एक कॉपी बनाते हैं क्या और इसका नाम हम रखते हैं रिनेम फंक्शन है ना कि फंक्शन आर्गुमेंट में हम किस तरह से पास करेंगे स्ट्रक्ट को वो अब हम यहां पर देखेंगे तो देखिए बाकी हम कोड एज इट इज छोड़ते हैं मान लीजिए मेरी यही रिक्वायरमेंट है कि यहां ये जो प्रिंट किया है ये आप किसी मेथड के अंदर कर ये आपको बार-बार प्रिंट ना करना पड़े ठीक है तो सबसे पहले मैं क्या डिक्लेयर करूंगा सबसे पहले मैं डिक्लेयर करूंगा अपने फंक्शन का प्रोटोटाइप मेरा फंक्शन क्या है मान लीजिए प्रिंट स्टूडेंट है मेरा फंक्शन और वो लेगा क्या वो लेगा एक स्टूडेंट है ना तो मैं बोलूंगा स्ट्रक्चर स्टूडेंट मान लीजिए लेता है एसटी य यह मैंने बना दिया अपने फंक्शन का प्रोटोटाइप अब इस फंक्शन को मैं कर देता हूं यहां पर नीचे डिफाइन तो मेरा फंक्शन क्या करेगा मेरा फंक्शन करेगा एय की चीजों को प्रिंट तो मैं क्या करता हूं इसी को मैं यहां पर यूज कर लेता हूं जो मैंने प्रिंट स्टेटमेंट लगाया हुआ था बस यहां स्टूडेंट की जगह मैं क्या कर लूंगा मेरा लोकल नेम क्या है मेरा लोकल नेम है एसटी य तो मैंने अभी एक ये फंक्शन बना लिया है जो क्या करता है उसको जो भी स्टूडेंट पास होगा उसका रोल नंबर उसका नाम उसके मार्क्स को य यहां पर प्रिंट कर देगा तो अब हम क्या कर सकते हैं यहां पर जहां हमने स्टूडेंट को यूज किया है मैं यह प्रिंट हर जगह लिखने के बजाय क्या कर सकता हूं डायरेक्टली यहां पर कॉल कर सकता हूं प्रिंट स्टूडेंट और यहां पर जो मेरा स्टूडेंट है यानी स्टूडेंट इसको मैं पास कर देता हूं मेरे वेरिएबल का नाम क्या है वेरिएबल का नाम भी स्टूडेंट है तो मैंने स्टूडेंट यहां पर इसको पास कर दिया एक बार इसको पहले चलाकर देख लेते हैं कि इतना जो इंप्लीमेंटेशन है वो ठीक से चल रहा है या नहीं तो करेंगे कंपाइल जीसीसी फड स - o फंशन ड आउट कंपाइलेशन इज सक्सेसफुल / फंशन आउट देखिए जैसे पहले तीन स्टेटमेंट आए थे प्रिंट एज इट इज तीन प्रिंट स्टेटमेंट आए हैं यानी ये वाला भी ठीक से चला है और ये वाले दो भी हमारे ठीक से चले हैं अब देखिए इसमें हम यूज क्यों नहीं कर सकते क्योंकि ये तो मेरे पास पॉइंटर है बट कोई बात नहीं स्टूडेंट को अगर इसका स्टूडेंट मेरे को चाहिए तो मैं एटीआर स्टूडेंट पीटीआर पास कर सकता हूं बिल्कुल कर सकता हूं दूसरी कॉल के लिए भी हम क्या करते हैं इसको रिप्लेस कर देते हैं एयू पॉइंटर के साथ ये तीसरी कॉल तो एनीवे एरो वाली है डुप्लीकेट है तो इन तीन की हमको जरूरत नहीं है दूसरे में हम क्या करेंगे एयू पॉइंटर का वैल्यू एट एसटी पॉइंटर यहां पर पास कर देंगे क्योंकि ये क्या एक्सपेक्ट कर रहा है स्टूडेंट एक्सपेक्ट कर रहा है तो मैं एयू पॉइंटर यहां से पास नहीं कर सकता अगर मैं एसटी पॉइंटर पास करूंगा तो बोलेगा ये तो गड़बड़ है भाई वो स्टूडेंट का डायरेक्ट वेरिएबल एक्सपेक्ट कर ता है और आप दे रहे हैं एक पॉइंटर तो पॉइंटर यहां पर नहीं चलेगा तो मैं क्या बोलूंगा भाई वैल्यू एट पॉइंटर निकाल लीजिए वैल्यू एट पॉइंटर तो वही वेरिएबल है तो ये चल जाना चाहिए इसको दोबारा चलाकर देखते हैं देखिए क्या हुआ दो बार चीजें प्रिंट हो गई यानी मेथड मेरा ठीक से यहां पर चल रहा है बट क्या हो अगर मैं पॉइंटर ही पास करना चाहता हूं देखिए अभी क्या हुआ है स्टूडेंट ये चल रहा होगा कॉपी इनिश इजेशन यानी मेरे स्टूडेंट की एक पूरी की पूरी कॉपी यहां पर क्रिएट हो रही है तो आइडियल तरीका क्या है आइडियल तरीका यही है कि स्ट्रक्चर वगैरह को जब आप पास कर रहे हैं ले रहे हैं तो आप क्या करें आप उसका एज एड्रेस ले ताकि बहुत बड़ी-बड़ी चीजों को अभी तो स्टूडेंट में हमने सिर्फ तीन चीजें रखी हैं स्टूडेंट के अंदर मान लीजिए एड्रेसस भी हैं बहुत सारी डिटेल्स हैं तो आप जब भी उसको फंक्शन में छोटा-मोटा काम करने के लिए पास अराउंड कर रहे हो पूरे के पूरे की कॉपी वो बार-बार बनाता रहेगा जो कि काफी इनएफिशिएंट आपके लिए हो जाएगा तो हम एक और फंक्शन बनाते हैं जिसका नाम हम रखते हैं प्रिंट स्टूडेंट मान लीजिए मैं इसका नाम रख देता हूं प्रिंट स्टूडेंट फ्रॉम पॉइंटर ये मैंने नाम रख दिया अ देखिए मैं एक्चुअली सी का नेमिन कन्वेंशन यहां फॉलो नहीं कर रहा हमको एक्चुअली क्या करना चाहिए प्रिंट स्टूडेंट फ्रॉम पॉइंटर है ना और ऊपर वाले का भी नाम क्या होना चाहिए था आईडियली प्रिंट स्टूडेंट य अगेन मैं जावा वाले नेमिन कन्वेंशन पर चला गया जो कि यूज करना गलत कुछ नहीं है मतलब कंपाइल तो हो रहा है बट ठीक नहीं है है ना तो हमने एक दूसरा फंक्शन का भी यहां वो लिख लिया और यह क्या लेगा ये स्ट्रक्चर स्टूडेंट का लेगा पॉइंटर अब मैं बोल रहा हूं भाई मेरे को स्ट्रक्चर स्टूडेंट मत दो आप स्टूडेंट का पॉइंटर दो यानी पॉइंटर का एड्रेस दो मैं पॉइंटर को कॉपी नहीं करूंगा दिस विल बी कॉल बाय वैल्यू है ना अगर मैं देखूं ये क्या है ये होने वाला है कॉल बाय वैल्यू और ये होने वाला है कॉल बाय रेफरेंस है ना तो मैं तो कह रहा हूं भाई मेरे को आप रेफरेंस दे दीजिए तो मैं दूसरा मेथड भी यहां पर लिख लेता हूं पहले इसी की बना लेते हैं कॉपी हमको यहां पर क्या करना है हमको चाहिए स्टूडेंट एटीआर यानी मान लीजिए मैं नाम भी इसका क्या रख देता हूं यहां पर नाम रख देता हूं पीटी आर पीटी आर और मेरे मेथड का नाम क्या है मेथड का पूरा नाम मैंने रखा था प्रिंट स्टूडेंट फ्रॉम पॉइंटर तो यहां मैं मेथड का नाम भी कर देता हूं प्रिंट स्टूडेंट फ्रॉम पॉइंटर पीटीआर तो मेरे पास आ गया अब मैं इसको एक्सेस कैसे करूंगा मैं करूंगा एसटी की जगह पीटीआर पीटीआर और पीटीआर और पॉइंटर से जब आपको इंटरनल चीजें एक्सेस करनी है तो आप कैसे करेंगे आप लगाएंगे एरो ऑपरेटर तो डॉट की जगह मुझे क्या लगाना पड़ेगा हर जगह जहां मैं डॉट से अभी तक एक्सेस कर रहा था मेरे को एक्सेस चीजें करनी पड़ेंगी एरो ऑपरेटर के साथ इतने से ही मेरा काम हो जाएगा अब मुझे क्या करना है अब मुझे यहां पर जो मैंने वैल्यू ऑफ स्टूडेंट पास किया था वो करने की जरूरत नहीं है मैं डायरेक्टली क्या पास कर सकता हूं डायरेक्टली यहां पर पॉइंटर पास कर सकता हूं तो अब क्या होगा ये होगा कॉल बाय रेफरेंस क्योंकि मैंने पॉइंटर को ही यहां पर पॉइंटर पास कर लिया और यहीं पर उसकी वैल्यूज को जो है एक्सेस कर लिया है तो एक बार इसको चलाकर देख लेते हैं इसको करते हैं कंपाइल और इसको करते हैं रन तो देखिए क्या हुआ दोनों की दोनों वैल्यूज यहां पर प्रिंट हो गई है पर अभी मजा नहीं आया ये समझ नहीं आया कि वैल्यूज चेंज हो भी रही है या नहीं तो अब मैं क्या करता हूं अब मैं यहां करता हूं स्टूडेंट का जो रोल नंबर है उसको कर देते हैं चेंज तो मैं बोलूंगा एय डॉट रोल नंबर यहां पर आप कर दीजिए पांच यानी जब ये पहली बार कॉल हुआ तो रोल नंबर हो जाना चाहिए पांच यहां पांच प्रिंट होगा फिर देखेंगे दोबारा जब यहां पर हम वापस आए हैं अगला वाला प्रिंट कर रहे हैं तो वैल्यू यहां पर क्या बनी हुई है देखिए ये दोबारा मैंने कंपाइल कर लिया फिर से इसको रन करते हैं तो देखिए पहले वाले में तो पांच प्रिंट हो गया क्यों क्योंकि देखिए रोल नंबर था वन पहले ये प्रिंट कॉल हुई हम यहां आए इस वाले एस q का रोल नंबर इसने पांच कर दिया और उसके बाद पांच को ही यहां पर प्रिंट कर दिया फिर वापस गए फिर हमने सेम स्टूडेंट का पॉइंटर जब यहां पर पास किया है तो रोल नंबर इस बार क्या प्रिंट हो रहा है वन ही प्रिंट हो रहा है है ना तो हम क्या करते हैं यहां पर भी इनको दिखाते हैं कि यह क्या हुआ है ये एक्चुअली हुआ है कॉल बाय वैल्यू क्योंकि ये एसटी यू जो है ये कॉपी है स्टूडेंट का सेम वाला नहीं है बट अगर मैं यहां पर दोबारा यही काम करूं है ना और इसको हम एक बार उठाकर दोबारा कहां प्रिंट कर देते हैं यहां पर ताकि हम यह भी देख सकें कि बेसिकली फंक्शन होने के बाद हमारा वैल्यू यहां पर आया क्या है माफ कीजिएगा हां और यहां स्टूडेंट की जगह हमको सॉरी पास करना पड़ेगा स्टूडेंट माफ कीजिएगा अगर मैं थोड़ा जल्दी से भगा बेसिकली थोड़ा जल्दी हो गया थोड़ा ज्यादा कॉम्प्लिकेटेड हो गया मैं आपको बस ये दिखाने की कोशिश कर रहा हूं कि ये फंक्शन कॉल के अंदर क्या प्रिंट होता है और फंक्शन कॉल के बाद क्या प्रिंट होता है फिर फंक्शन कॉल के अंदर क्या प्रिंट होता है और फंक्शन कॉल के बाद यहां पर क्या प्रिंट होता है यहां पर क्या है ये मैं रखूंगा स्टूडेंट ही तो हम ये देख रहे हैं स्टूडेंट की वैल्यू फंक्शन कॉल के पहले और बाद में चेंज हो रही है या नहीं हो रही है और जैसे हमने यहां रोल नंबर को पांच किया था यहां रोल नंबर को हम कर देते हैं मान लीजिए सिक्स और क्योंकि पॉइंटर से हमको एक्सेस करना है तो पॉइंटर से एक्सेस कैसे करेंगे डॉट के बजाय लगा देंगे एरो ऑपरेटर फिर से इसको करते हैं कंपाइल और फिर से इसको करते हैं रन इस बार देखिए क्या हुआ पहली बार जब हमने प्रिंट कॉल किया प्रिंट के अंदर रोल नंबर प्रिंट हुआ पांच बट जब हम मेथड के बाद वापस आए और हमने फिर से अपना स्टूडेंट प्रिंट किया तो हमने देखा कि हमारे स्टूडेंट की वैल्यू एक्चुअली चेंज नहीं हुई है हमारे स्टूडेंट का तो रूल नंबर वही है जो हमने यहां पर डिक्लेयर किया था यानी जो मेथड के अंदर चेंजेज हुए हैं वो मेथड के अंदर ही हुए हैं दिस वाज कॉल्ड बाय वैल्यू बट अगर मैं अगली बार देखूं अगली बार हमने क्या किया फिर से सेम स्टूडेंट को पास किया एज अ पॉइंटर पॉइंटर ने अपने अंदर फंक्शन के अंदर इसकी वैल्यू चेंज कर दी 5 टू 6 और यहां बेसिकली 1 टू 6 और यहां प्रिंट किया सिक्स पर जब हम वापस आए फंक्शन के बाहर और हमने दोबारा अपने पास लोगली प्रिंट किया तो हमने देखा हमारी भी वैल्यू एक्चुअली चेंज हो गई है स तो दिस कॉल वाज कॉल्ड बाय वैल्यू और ये क्योंकि हमने पॉइंटर से किया था तो दिस वाज कॉल्ड बाय रेफरेंस ठीक है तो उम्मीद कर रहा हूं ये आपको समझ आ गया है अच्छे से हमने काफी डिटेल एग्जांपल यहां पर ले लिया है हमने एक्चुअली नोट्स में इतना डिटेल एग्जांपल नहीं लिया था तो आपको गेट हब के लिंक पे भी हमने जो अभी कोड लिखा है वो आपको मिल जाएगा तो क्या है डायरेक्ट पासिंग कॉपीज द होल स्ट्रक्चर यानी अब आप डायरेक्टली पास करते हैं तो पूरा का पूरा स्ट्रक्चर कॉपी हो जाता है एंड पासिंग बाय एड्रेस जो है वो ज्यादा मोर एफिशिएंट है क्योंकि वहां आपको पूरा का पूरा जो कॉ बेसिकली पास बाय एड्रेसस पास बाय रेफरेंस तो यानी जब आप पास बाय एड्रेस या रेफरेंस करते हैं तो आपको पूरा कॉपी नहीं करना पड़ता मॉडिफिकेशन की भी बात क्या है कॉल बाय व जब आप कर रहे हैं तो चेंजेज इफेक्ट नहीं होंगे बट जब आप कॉल बाय रेफरेंस कर रहे हैं तो चेंजेज इफेक्ट होंगे परफॉर्मेंस अब देखिए कॉल बाय एड्रेस फास्टर होगा क्योंकि उसमें उसको कॉपी नहीं करना है जब आप कॉपी कराएंगे तो उसको थोड़ा सा टाइम लगेगा बट ये क्या बोल रहा है जब आप डायरेक्ट पास करते हैं तो थोड़ा सा सिंपल रहता है और आपके चेंजेज आपको अफेक्ट नहीं करते तो इट डिपेंड्स ऑन यू आपका स्ट्रक्चर छोटा है बड़ा है ये कॉल आप अपने हिसाब से ले सकते हैं कि आपको कहां कॉल बाय वैल्यू रखना है और कहां कॉल बाय रेफरेंस रखना है है ना अब आ जाते हैं हम अपने लास्ट टॉपिक पर जिसका नाम क्या है टाइप डेफ कीवर्ड भई ये टाइप डेफ कीवर्ड क्या चीज है अभी हम ये देखते हैं पहले अगेन इसकी एक बनाते हैं फाइल वापस आ जाते हैं एक कोई नॉर्मल वाला ले लेते हैं अ मान लीजिए हम ले लेते हैं एरे है ना एरे वाले की हम यहां पर कॉपी बना लेते हैं फंक्शन वाला तो थोड़ा सा बड़ा हो गया है इसका नाम हम रख देते हैं टाइप डेफ अब देखिए टाइप डेफ बोलता क्या है टाइप डेफ ये बोल रहा है कि दिस अलाउ एलियास क्रिएशन एलियास का क्या मतलब होता है आपने देखा होगा हिंदी में भी जैसे अखबारों में कभी किसी गुंडे की बात होती है कुछ बात होती है तो बोला जाता है उर्फ उर्फ मतलब इनका निकनेम क्या है एलियास का भी यही मतलब होता है एलियास का मतलब होता है निकनेम जैसे बहुत सारे लोग आप में से ऑनलाइन गेमिंग खेलते होंगे तो वहां क्या होता है हम वहां पर अपना नाम कुछ और रख लेते हैं पूरे प्रोग्राम में ना इंट को माय इंट के नाम से भी जाना जाए देखिए ऐड कर रहा है नाम चेंज नहीं कर रहा है ये बात याद रखिएगा यानी मैं इंट को माय इंट के नाम से लिखना चाहता हूं तो अगर मैं वापस आऊं और यहां आपको दिखाऊं इसको कर देते हैं बंद फिलहाल अगर मैं यहां आपको दिखाऊं ये एरे को हम कर देते हैं एक सिंगल स्टूडेंट मैं सिर्फ यहां पर राम छोड़ता हूं और बाकी चीजों को हम यहां से कर देते हैं रिमूव और यह फिलहाल जो प्रिंट हमने किया है इसको मैं कर देता हूं कमेंट जब हमको यूज करना होगा तो हम देखेंगे कि हमको इसको कैसे यूज करना है फिलहाल मैं क्या दिखाना चाह रहा हूं आपको टाइप डेफ दिखाना चाह रहा हूं तो पहली बात तो ये समझिए टाइप डेफ इज नॉट स्पेसिफिक टू स्ट्रक्चर्स मैं क्या कर सकता हूं आई कैन से टाइप डेफ आई एनटी विल नाउ बी नोन एस मान लीजिए प्रशांत मैंने तो नाम दे दिया कि भा मैं प्रशांत नाम से इसको एक्सेस करूंगा तो देखिए अब मैं क्या कर सकता हूं मैं बोल सकता हूं प्रशांत आई इक्व टू 5 अब देखिए प्रशांत मैं जहां भी लिख रहा हूं अब ये क्या बन गया इसको मैंने एक डेटा टाइप डिक्लेयर कर दिया है कि भाई इंटी जर का दूसरा नाम प्रशांत भी होगा तो अब जहां भी मैं प्रशांत लिख रहा हूं उसका मतलब क्या है एक इंटी जर डिक्लेरेशन में कर रहा हूं मैं i = 5 लिख सकता हूं परसेंटाइल d से इसको ले सकता हूं दे सकता हूं तो टाइप डेफ इज ओनली अ बेसिकली एलियास ऐड करने का एक तरीका है आप किसी भी चीज का एलियास यहां पर ऐड कर सकते हैं है ना तो देखिए अभी तक हम नॉर्मल जब लिख रहे थे तो कैसे लिखते थे हमने लिखा स्ट्रक्चर स्टूडेंट और हम वेरिएबल कैसे डिक्लेयर करते थे राम श्याम इस तरह से डिक्लेयर करते थे दूसरा तरीका क्या है स्ट्रक्चर डिक्लेयर करने का आप इस तरह से स्ट्रक्चर डिक्लेयर कर सकते हैं जहां पर आप पहले बोले टाइप डेफ फिर बोले स्ट्रक्ट और नाम यहां पर ऑप्शनल कर दें नाम अभी फिलहाल ना दे और नाम कहां दें नाम दें बाद में यानी मैं यहां क्या कर रहा हूं मैं आपको दोनों यहां पर करके दिखाता हूं मान लीजिए ये वाला स्ट्रक्चर है इसको हम कर देते हैं कॉमेंट और एक दूसरा स्ट्रक्चर यहां पर डिक्लेयर करते हैं इस बार मैं क्या कर रहा हूं मैं बोलूंगा टाइप डेफ स्ट्रक्ट स्टूडेंट का जो नाम है मैं यहां की जगह सीधा दे दूं यहां पर है ना आप यहां भी चाहे तो कोई नाम दे सकते हैं मान लीजिए मैंने एसटी पहले नाम यहां यहां पर भी दिया हुआ था बेसिकली एक दूसरा नाम देते टाइप डेफ के बाद तो आप यहां पर क्या बोल रहे हैं कि भाई ये जो स्ट्रक्ट एसटी यूय मैं आपको कंफ्यूज ना करते हुए पहले वाले को स्टूडेंट ही रखता हूं और इसको कर देता हूं एसटी यानी मैं बोल रहा हूं भाई ये जो स्ट्रक्ट स्टूडेंट करके मैं चीजों को डिक्लेयर कर रहा था यहां पर आज से उसका नाम एसटी यू भी होगा यानी अब मैं क्या कर सकता हूं अब मैं डायरेक्ट लिख सकता हूं एसटी यू मान लीजिए श्याम और उसकी वैल्यू मैं डायरेक्टली यहां पर इनिश इज कर सकता हूं मान लीजिए मैं मैंने क्या दे दिया भाई दू दसरे शाम का जो डाटा है वो मैंने यहां पर दे दिया या इसका रोल नंबर होगा टू नेम होगा शाम और मार्क्स कितने थे इसके मार्क्स मान लीजिए इसके आए हैं 70 तो यहां आपको मैं समझाने की क्या कोशिश कर रहा हूं बस समझाने की कोशिश कर रहा हूं कि जो हर जगह हमको स्ट्रक्ट स्टूडेंट स्ट्रक्ट स्टूडेंट लिखने की जरूरत पड़ रही थी टाइप डेफ के हेल्प से आप ये पूरे को एक सिंगल नाम भी दे दे सकते हैं और बेस्ट तरीका क्या है इसका आप यहीं लिखिए टाइप डेफ स्ट्रक्ट और यहां पर नाम जो है वो ऑप्शनल होता है आप यहां नाम को स्किप कर सकते हैं और डायरेक्टली नाम दीजिए थोड़ा सा बेसिकली ब्रैकेट के बाद में तो अब आप क्या बोल रहे हैं आप टाइप डेफ को बोल रहे हैं कि भाई ये जो आपके सामने स्ट्रक्चर है इसका कोई अभी नाम है या नहीं है ये भूल जाइए पर ये जो स्ट्रक्चर है ये आज से स्टूडेंट के नाम से जाना जाएगा और क्योंकि ये स्टूडेंट के नाम से जाना जाएगा तो अब आपको स्टूडेंट अब देखिए ये क्या बोल रहा है एसटी यू मैंने माफ कीजिएगा वहां से हटा दिया है बट अब यहां पर ये क्या बोल रहा है आपको स्ट्रक्ट स्टूडेंट लिखने की जरूरत नहीं है आप सीधे लिखेंगे स्टूडेंट और ये बेसिकली चलने यहां पर लगेगा तो ये क्या है थोड़ा सा आपके कोड को बेटर यहां पर बना देता है अगर आप यहां पर नहीं चाहते स्ट्रक्चर मान लीजिए पहले से बना हुआ है तो आप ये वाला जो सिंटेक्स है ये भी यूज़ कर सकते हैं यानी आप बोल रहे हैं भाई टाइप डेफ स्ट्रक्ट स्टूडेंट को आज से s के नाम से जाना जाएगा और उसके बाद आप एस को यहां पर इस्तेमाल कर लें ठीक है तो ये क्या है स्ट्रक्चर सिंपलीफिकेशन के लिए यूज़ होता है ऑफर यूज टू सिंपलीफाई द सिंटेक्स फॉर स्ट्रक्चर्स क्योंकि हर बार वेरिएबल डिक्लेयर करते हुए मुझे स्ट्रक्ट स्टूडेंट स्ट्रक्ट स्टूडेंट लिखना पड़ रहा था यानी स्ट्रक्टर अपने स्ट्रक्चर का नाम लिखना पड़ रहा था तो जनरली टाइप डेफ की हेल्प से आप क्या कर सकते हैं उसका सिंगल नाम यहां पर दे सकते हैं इंपॉर्टेंट बात क्या है रीडेबिलिटी यानी इससे कोड की जो रीडेबिलिटी है वो काफी ज्यादा यहां पर इंप्रूव हो जाती है यानी पढ़ना लिखना कोड को जो है वो आसान पढ़ना लिखना मेंटेन करना सब कुछ जो है वो आसान हो जाता है आप मोर मीनिंगफुल नेम चीजों के रख सकते हैं पोर्टेबिलिटी का क्या मतलब है देखिए पोर्टेबिलिटी का इसमें ये मतलब है कई बार ऐसा भी होता है कि वो स्ट्रक्चर आपके पास है नहीं आप अभी उसका कोई टेंपरेरी नाम लिखकर काम चला लेते हैं डेफिनेशन बाद में आती है थोड़ा सा कॉम्प्लिकेटेड है उसमें घुसने की जरूरत नहीं है बट बेसिकली क्या है अक्रॉस डिफरेंट सिस्टम्स आप क्या कर सकते हैं टाइप्स का नाम जो है वो सेम रख सकते हैं अगर आपको चीजें वहां पर सेम यूज करनी है तो ठीक है अगेन इसमें बहुत ज्यादा घुसने की जरूरत नहीं है पॉइंट क्या है रीडेबिलिटी यहां पर इंपॉर्टेंट है कि जो मुझे हर जगह स्ट्रक्ट स्टूडेंट लिखना पड़ रहा था उसको मैं कोई भी एक सिंगल नाम दे सकता हूं और उसी नाम से उसको इस्तेमाल कर सकता हूं ठीक है दोस्तों यहां हो जाता है हमारा स्ट्रक्चर कंप्लीट काफी सारी चीजें हमने इसमें देख ली है ना स्ट्रक्चर कैसे बेसिकली मतलब क्या है यूज क्यों करना है कैसे डाटा कोहेन इसमें होता है यानी एक साथ डाटा को कंबाइन करके हम एक साथ डिक्लेयर करते हैं डिक्लेयर कैसे करना है डॉट लगाकर कैसे एक्सेस करना है मेमोरी इसकी कैसे एलोकेट होती है चार तरह के हमने इनिश इजेशन देखे एरे इसका कैसे बनाना है पॉइंट्स कैसे एकदम नॉर्मल पॉइंटर की तरह काम करता है और पॉइंटर से अगर डाटा चाहिए तो कैसे आप एरो ऑपरेटर यूज़ करेंगे फंक्शन आर्गुमेंट कैसे आप कॉल बाय रेफरेंस कॉल बाय वैल्यू दोनों इसका कर सकते हैं और टाइप डेफ से कैसे आप इसका नाम चेंज कर सकते हैं ठीक है इतना स्ट्रक्चर की जो इंफॉर्मेशन है य आपके प्रोजेक्ट्स के लिए इंटरव्यूज के लिए डीएससी के लिए आपके सेमेस्टर एग्जाम्स के लिए सबके लिए एकदम बहुत ज्यादा इनफ है इसके बाद करेंगे इसकी प्रैक्टिस एक्सरसाइजस ढेर सारी और उसके बाद चलते हैं अपने नेक्स्ट चैप्टर की तरफ दोस्तों आ गए हैं चैप्टर नंबर 11 स्ट्रक्चर के चैलेंजेबल हमने समझ लिया बहुत बहुत ज्यादा मुश्किल चीजें नहीं है स्ट्रक्चर में एक बार अगर आपको बनाना आ गया समझ आ गया तो चीजें हो जाती हैं बट स्ट्रक्चर में भी इंपॉर्टेंट क्या है एक बार आप दो-चार स्ट्रक्चर बनाकर चीजों को प्रैक्टिस कर लेंगे तो बहुत अच्छा हो जाएगा हमने एक दो स्ट्रक्चर ऑलरेडी बनाए हैं बाकी यहां पर प्रैक्टिस कर लेते हैं इसके बाद आप स्ट्रक्चर कभी भी नहीं भूलेंगे चैप्टर नं सॉरी चैलेंज नंबर 88 क्या है एक प्रोग्राम बनाइए वेयर यू नीड टू स्टोर एंड प्रोसेस डाटा फॉर अ बुक तो आपको एक बुक टाइप का स्ट्रक्चर बनाना है क्या-क्या होना चाहिए उसके अंदर टाइटल ऑथर एंड प्राइस उसके अंदर होना चाहिए और यहां आपको दिखाना है कैसे सेपरेट वेरिएबल से बेसिकली बस बुक का आपको स्ट्रक्चर बनाना है और उसका आप कुछ इस्तेमाल करिए एक आद वैल्यू इनपुट कराइए आउटपुट कराइए ठीक है उसके बाद इनिश इइ एन एरे ऑफ बुक स्ट्रक्चर इस बार सेम बुक स्ट्रक्चर आप यहां पर यूज़ कर सकते हैं उसका एरे बनाइए डिफरेंट डाटा फॉर ईच बुक इनिश इज भी आपको यहीं पर करना है यूजिंग डेजिग्नेट इनिश इजर्स डेजिग्नेट इनिशियलिज्म को कार उसके कौन-कौन से फील्ड्स होने चाहिए मेक मॉडल ईयर एंड कलर ये उसके फील्ड्स होने चाहिए इसको भी जरा इनपुट कराइए आउटपुट कराइए थोड़ा प्ले अराउंड करिए खेलिए इसके साथ उसके बाद नंबर 91 पास अ कार स्ट्रक्चर टू अ फंक्शन यानी इसका एक फंक्शन बनाना है जो कार को लेता हो दैट प्रिंट्स आउट डिस्क्रिप्शन ऑफ द कार इन वन सेंटेंस यानी इन सब चीजों को एक अच्छा सा सेंटेंस बना कर के वो प्रिंट करे कार का पूरा का पूरा एक डिस्क्रिप्शन बनाकर सिंगल सेंटेंस में वो प्रिंट कर दे नंबर 92 राइट अ फंक्शन दैट एक्सेप्ट्स अ पॉइंटर टू अ स्टूडेंट स्ट्रक्चर विद फील्ड्स आईडी नेम ईर जीपी एंड मॉडिफाई इट्स ग्रेड्स तो यहां आपको क्या करना है एक स्टूडेंट स्ट्रक्चर बनाना है जिसके अंदर क्या-क्या हो आईडी नेम ईयर हो और एक फंक्शन बनाना है जो उसका पॉइंटर लेता हो और उसके ग्रेड्स को मॉडिफाई करता हो यानी मान लीजिए ग्रेड अप या तो ग्रेड अप करे या ग्रेड डाउन करे ठीक है इस टाइप का एक फंक्शन बनाना है यूजिंग ऑब् वियस पॉइंटर क्योंकि अदर वाइज क्या होगा कॉल बाय वैल्यू होगा तो अफेक्ट ही नहीं होगा हमको ग्रेड्स मॉडिफिकेशन अफेक्टेड चाहिए तो आपको पॉइंटर लेकर इसको करना है नंबर 93 राइट अ फंक्शन वेयर द स्टूडेंट स्ट्रक्चर अगेन जो हमारा स्टूडेंट स्ट्रक्चर है आल्सो हैज बुक्स दे हैव बरोड इनसाइड यानी स्ट्रक्चर के अंदर स्ट्रक्चर होना चाहिए स्टूडेंट के अंदर बुक्स भी हो एंड शो द नेस्टेड स्ट्रक्चर यूजेस उसके बाद बुक को उसमें थोड़ा ऐड करके रिमूव करके आप दिखाइए कि कैसे ने नेस्टेड स्ट्रक्चर को आप यूज़ यहां पर कर सकते हैं तो देखिए स्ट्रक्चर भी बहुत इंपॉर्टेंट है यहां हमने कितने छह प्रॉब्लम्स यहां पर दिए हैं अब थोड़े बड़े होते जाते हैं प्रोग्राम बट क्या होगा आपको इससे स्ट्रक्चर एकदम ठीक से समझ आ जाएगा ट्राई करिए सॉल्यूशन वीडियो में सॉल्यूशन देखिए उसके बाद चलते हैं हमारे नेक्स्ट चैप्टर की तरफ तो दोस्तों चलिए स्टार्ट करते हैं हमारा अगला चैप्टर जिसका नाम क्या है डाइनेमिक मेमोरी एलोकेशन तो अब हम ट्रूली एकदम एडवांस टॉपिक्स के अंदर पहुंच गए हैं है ना बेसिक बेसिक चीजों में बेसिक प्रोग्राम्स में इन सब चीजों की जरूरत नहीं पड़ती है बट अगेन अगर आप थोड़ा सा बड़ा प्रोजेक्ट करेंगे तो यह आपको जरूर यूज़ करना होगा तो सबसे पहले समझेंगे कि डायनेमिक मेमोरी एलोकेशन है क्या और उसके बाद डायनेमिक मेमोरी एलोकेशन के अंदर चार मेन मेथड्स होते हैं जो हमको यूज करने होते हैं जिनको प्रोनाउंस किया जाता है मेलक कैलक फ्री एंड लॉक है ना रिलक तो इन चारों मेथड्स को हम देखेंगे और उसके बाद देखेंगे इनका यूज हमको किस तरह से करना है तो सबसे पहले हम देखते हैं कि ये डायनेमिक मेमोरी एलोकेशन जो हम बोल रहे हैं ये एक्चुअली बला क्या है है ना तो व्हाट इज डायनेमिक मेमोरी एलोकेशन देखिए सबसे पहले राइट साइड में आइए मैं आपको दिखा देता हूं दो तरह की यहां पर आप ये मानकर चलिए हर प्रोग्राम के पास दो तरह की मेमोरी अवेलेबल होती है पहली होती है स्टैक मेमोरी और दूसरी होती है डायनेमिक मेमोरी स्टैक मेमोरी क्या है देखिए हमने बात की थी जब फंक्शन स्टैक की यानी जब भी फंक्शन कॉल होता है तो सबसे पहले क्या होता है स्टैक पर चीजें आती हैं तो आपके स्टैक पर क्या-क्या आता है चाहे वो फंक्शन कॉल किए जा रहे हैं आपके नॉर्मल वेरिएबल जो हैं वो सब स्टैक में आते हैं ग्लोबल वेरिएबल हैं सब के सब कहां स्टोर होते हैं स्टैक के अंदर ही स्टोर होते हैं और डायनेमिक मेमोरी का पार्ट समझा जाता है हीप को और हीप में कौन से वेरिएबल स्टोर होते हैं जो अभी हम यहां डायनेमिक मेमोरी एलोकेशन करेंगे वो सब वेरिएबल एक्चुअली हीप में स्टोर होते हैं इसका मेन पॉइंट क्या है डायनेमिक मेमोरी एलोकेशन का क्या मतलब है देखिए मेमोरी एलोकेशन का तो मतलब है मेमोरी खाली करना या मेमोरी एलोकेट करना डायनेमिक का क्या मतलब है डायनेमिक का मतलब है प्रोग्राम चलते-चलते देखिए होता क्या है जैसे ही मैंने अपना प्रोग्राम लिखा है वहां मैंने कोई इंटर वेरिएबल डिक्लेयर किया कोई एरे डिक्लेयर किया चार चीज और डिक्लेयर की तो जब प्रोग्राम स्टैक पर आता है उससे पहले ही व मेमोरी स्टैक के अंदर एलोकेट हो चुकी होती है यानी यह होता है कि भाई यह प्रोग्राम चलाने के लिए मेरे को एक 100 साइज का एरे चाहिए नाम चाहिए जो भी चाहिए तो वो सारी की सारी मेमोरी पहले एलोकेट हो जाएगी उसके बाद आपका प्रोग्राम रन करना स्टार्ट करेगा बट क्या होगा अगर प्रोग्राम चलते-चलते हमको यह पता करना हो कि मेमोरी कितनी चाहिए मान लीजिए हमको किसीने एक एग्जांपल लेते हैं कि किसी ने बोला भाई एक काम करिए पहले यूजर से इनपुट कराइए कि कितने नंबर वो डालेगा यानी हमको नंबर्स का सम निकालना है तो पहले इनपुट कराइए कितने नंबर वो डालेगा मान लीज उसने बोला पांच नंबर मैं डालूंगा उसके बाद वो पांच नंबर्स उससे लीजिए और उनका एक सम करके दीजिए अब मान लीजिए इसके लिए मुझे एक एरे बनाना है जो कि पांच नंबर चाहिए होंगे पर वो पांच भी हो सकते हैं 500 हो सकते हैं 5000 हो सकते हैं यूजर मुझे रन टाइम पर बताएगा कि कितने नंबर वो एंटर करने के लिए इच्छुक है यानी मेमोरी में अपने प्रोग्राम रन होने से पहले एलोकेट नहीं कर सकता या तो एक तरीका ये है कि मुझे मेरा यूज कुछ भी हो मैं हमेशा 10000 मान लीजिए लोकेशंस खाली रखूं और यूजर को बोलूं कि भाई मैं 10000 मेमोरी लोकेशन तक ही सपोर्ट करता हूं बट उसका रिजल्ट क्या होगा उसका रिजल्ट ये होगा कि नॉर्मल केसेस में जब 510 से मेरा काम चल रहा था मैं हर बार 10000 एलोकेट करके बैठा हूंगा तो उसका सही तरीका क्या है सही तरीका ये है जरूरत पड़ने पर ही मेमोरी ले ली जाए और जरूरत पड़ने पर जो मेमोरी एलोकेट की जाती है उसी को बोलते हैं डायनेमिक डायनेमिक मतलब जब रन टाइम पर जब मुझे पता चलेगा तब डायनेमिक तौर पर मेमोरी एलोकेट करना तो ये क्या है सबसे बड़ा पॉइंट है इसका फ्लेक्सिबल कि एलोकेट मेमोरी एज नीडेड जब जरूरत हो उसी हिसाब से मेमोरी को जो है आप एलोकेट करें ये क्या होता है इससे एफिशिएंसी बढ़ती है क्यों क्योंकि पहली बात तो आप जितनी जरूरत है उतनी ही लेंगे दूसरा इसमें यह भी आपके पास एडवांटेज होता है कि आपको जो अब यूज नहीं करना है आप उसको रिलीज भी कर सकते हैं विद टाइम यानी प्रोग्राम तो मेरा बहुत देर चलेगा बट जो मैंने मान लीजिए कोई मेमोरी एलोकेट की थी उसका काम अभी पूरा हो गया अब मैं कुछ और काम कर रहा हूं अपने प्रोग्राम में तो आप इमीडिएट ये भी बोल सकते हैं कि भैया आप इसको खाली कर दीजिए इसका मेरा काम पूरा हो गया है तो क्या होगा वो मेमोरी किसी और के काम आ जाएगी तो ये क्या है एफिशिएंट भी होता है डेटा परसिस्टेंस कैसे यहां जब तक आप अपने आप हाथ से ये नहीं बोलेंगे कि इसका काम खत्म हो गया है वो मैं मेरी डी एलोकेट नहीं होती डी एलोकेट मतलब खाली नहीं होती ज जैसे नॉर्मल प्रोग्राम में क्या होता था हमारा फंक्शन खत्म हमारे फंक्शन का स्कोप खत्म वेरिएबल खत्म यहां ऐसा नहीं होता जो वेरिएबल जो डायनेमिक मेमोरी आपने एलोकेट की है ये आपकी जिम्मेदारी बनती है कि आप उसको खाली भी करेंगे है ना एडवांटेज क्या है इसका लार्ज डाटा यानी इससे क्या होता है बहुत ज्यादा लार्ज डाटा भी आप हैंडल कर सकते हैं स्टैक की देखिए मेमोरी काफी लिमिटेड होती है हीप में क्या है मेमोरी ज्यादा होती है खुली होती है तो अगर बहुत ज्यादा बड़ा आपको डाटा चाहिए भले ही आपको साइज पहले से भी पता हो तो भी आप उसको हीप में एलोकेट करेंगे तो बेटर होगा क्योंकि हीप कैन हैंडल लार्ज डाटा बेटर और लास्ट पॉइंट क्या है डेटा स्ट्रक्चर्स एसेंशियल फॉर कॉम्प्लेक्शन लाइक जैसे लिंकलिस्ट ट्री ग्राफ इस टाइप के आपको डाटा स्ट्रक्चर बनाने हैं तो उनका साइज पहले से पता नहीं होता है जिसका साइज पहले से नहीं पता है उस केस में जो हीप मेमोरी है वो हमारी काम आने वाली है तो हमने ये तो समझ लिया डायनेमिक मेमोरी लोकेशन होता क्या है और डायनेमिक मेमोरी लोकेशन के एडवांटेज डिसएडवांटेज क्या है पर करेंगे कैसे तो कैसे करेंगे उसके लिए आ जाते हैं इसके सबसे पहले पहले मेथड के ऊपर जिस पहले मेथड मेथड का नाम क्या है मेलक मेथड का नाम क्या है मेलक तो मेलक का क्या मतलब है आप पहले बेसिकली मेलक को यूज कैसे करेंगे इंक्लूड हेडर यानी सबसे पहले आपको ये हेडर फाइल इंक्लूड करनी पड़ेगी जिसका नाम क्या है स्टैंडर्ड लिप ड h उसके बाद बेसिकली मेलक को एक्सेस करने के लिए और मेलक यूज कैसे होता है देखिए ये इसका सिंटेक्स है यानी ये क्या करता है मेलक के अंदर आपको डायरेक्ट देना पड़ेगा क्या साइज आपको चाहिए कितने नंबर ऑफ बाइट्स आपको चाहिए पहले आप वो निकालेंगे और उसके बाद ये जो रिटर्न करता है ये क्या रिटर्न करता है ये हमेशा एक वॉइड पॉइंटर रिटर्न करता है यानी ये एक रैंडम पॉइंटर बेसिकली एमटी पॉइंटर रिटर्न करता है पॉइंट टू वॉइड आप इसको किसी भी तरह के पॉइंटर में कन्वर्ट कर सकते हैं अब यह बात याद रखिएगा जब भी डायनेमिक मेमोरी एलोकेशन करेंगे तो मेमोरी तो देखिए हिप में एलोकेट हो गई है आपको एक पॉइंटर रखना पड़ेगा जो उस मेमोरी के एड्रेस पर पॉइंट करता हो है ना तो यहां यहां मतलब हमारा पॉइंट क्या है हमारा पॉइंट यह है कि डायनेमिक मेमोरी को यूज़ करने के लिए सिंगल तरीका होता है पॉइंटर याद होगा लास्ट चैप्टर में भी हमने जब स्ट्रक्चर पॉइंटर हम पढ़ रहे थे तो हमने यही बात की थी कि स्ट्रक्चर के लिए स्पेशल सिंबल लाया गया एरो सिंबल पॉइंटर वाले को यूज़ करने के लिए वो इसीलिए क्योंकि स्ट्रक्चर्स में भी मोस्टली जब आप मेमोरी यूज़ करते हैं तो वो कैसे यूज़ करते हैं डाइनेमिक मेमोरी यूज़ करते हैं यानी मेलक से मेमोरी यूज़ करते हैं तो इसके बाकी पॉइंट्स को बाद में आकर देखेंगे पहले एक बार इसका एक एग्जांपल हम यूज़ करके देखते हैं कि मेलक को एक्चुअली यूज़ कैसे किया जा सकता है तो वापस आ जाते हैं इधर ये जितने खुले हुए हैं हमारे फाइल्स पुराने वाले चैप्टर के इन सबको कर देते हैं बंद 11 हमारा हो गया है डन नया चैप्टर स्टार्ट करते हैं जिसका नाम क्या है 12 डायनेमिक मेमोरी एलोकेशन इसके अंदर फाइल क्या स्टार्ट करेंगे पहली फाइल हम देख रहे हैं मेलक कैसे हमको यूज करना है लकड स तो चलिए जो एग्जांपल अभी हमने बात की थी वही ले लेते हैं क्या यूजर से पहले एक नंबर पूछेगी कितने नंबर्स वो एंटर करेगा उसके बाद वो सारे नंबर्स लेकर के एक एरे में सेव करिए और फाइनली उनका सम आप यूजर को दिखाइए तो सबसे पहले क्या इंक्लूड करेंगे जो हमारा स्टैंडर्ड है यानी एडी ए हम इंक्लूड करेंगे अगला क्या देखिए नोट्स में उसने बोला क्या कि आपको अगर मेलक यूज़ करना है तो एटीडी लिब ये देखिए एक नई हेडर फाइल आई है स्टैंडर्ड लिड ए आपको ऐड करनी होगी तो हैश इंक्लूड करते हैं क्या एसटीडी लिड ए यह दूसरी हेडर फाइल हमको चाहिए उसके बाद आ जाते हैं इंट मेन पर है ना तो सबसे पहले क्या करेंगे सबसे पहले तो हमको चाहिए नंबर ऑफ एलिमेंट्स तो इंट करते हैं नंबर ऑफ या साइज कर देते हैं इसको इसका नाम बस है ना साइज साइज क्या करेंगे हम यूजर से इनपुट करा लेंगे तो सबसे पहले करते हैं प्रिंट एफ एंटर द नंबर ऑफ एलिमेंट्स कि कितने एलिमेंट्स आप बेसिकली हमको देने वाले हैं यह एंटर करिए कैसे ले लेंगे स्कैनफ से ले लेंगे तो मैं बोलूंगा परसेंटाइल डी एंड पर्सन साइज एन पर्सन क्यों दिया हमने क्योंकि भाई साइज का एड्रेस है साइज के एड्रेस में वो साइज दे दीजिए अब हमको क्या करना है मान लीजिए हमको एक एरे बनाना है जो कि इस साइज का हो यानी जिसके अंदर इतने नंबर्स हो तो वो क्या कैसे करेंगे देखिए हमको क्या करना पड़ेगा पहले एक बनाना पड़ेगा पॉइंटर है ना क्योंकि हमको क्या बनाना है मान लीजिए इंटी जर के नंबर लेने हैं तो मैं बोलता हूं इंटी जर पॉइंटर ए आर आर मान लीजिए एरे मुझे बनाना है और कैसे बनाएंगे मैलक यूज करेंगे तो मैं लिखता हूं मेलक मैलक के अंदर अब मुझे देना है कितने बाइट्स आपको चाहिए अब देखिए साइज मुझे ये तो पता है कितने एलिमेंट्स चाहिए बट मुझे ये नहीं पता कि कितने बाइट्स चाहिए उसके लिए क्या होता है देखिए हमने यहां एग्जांपल में भी लिखा है आप किस तरह से इसको कर सकते हैं आप इंटी जर का साइज ऑफ यूज कर लीजिए कैसे कि भाई मुझे बता दीजिए इंटी जर का साइज कितना होता है उसमें मैं n को जो है मल्टीप्लाई कर लूंगा तो मैं क्या करूंगा मैं लिखूंगा साइज ऑफ आई एटी क्योंकि मुझे इंटी जर चाहिए और मुझे कितने इंटी जर चाहिए मुझे साइज के बराबर इंटी जर चाहिए तो मेलक क्या करेगा मेल को मेमोरी एलोकेट करेगा बट मुझे क्या करना पड़ेगा मुझे उसके बाद उसको कास्ट करना पड़ेगा किस चीज में इंटी जर पॉइंटर में क्योंकि मेलक क्या रिटर्न कर रहा है मेलक रिटर्न कर रहा है व वॉइड पॉइंटर तो करेक्ट जो इसका सिंटेक्स है वो क्या होगा इंटी जर पॉइंटर में आप इसको कास्ट करेंगे कास्टिंग कर रहे हैं जैसे आप ने देखा होगा फ्लोट से इंटी जर कास्टिंग हम करते थे ये क्या कर रहा है वॉइड पॉइंटर रिटर्न कर रहा है हमको ये बोलना है नहीं भाई ये इंटी जर हम पॉइंट इससे कराएंगे मे लॉक देंगे और साइज देंगे बस मेलक का इतने से ही काम आपका हो जाएगा है ना तो ये बेसिकली हो गया हमने साइज एलोकेट कर लिया अब ए आरआर मेरा इस साइज का एक एरे बनकर मेरे इस ए आरआर एस्क के अंदर आ गया है अब अगर वापस हम अपने नोट्स में आकर बात करें तो साइज आर्गुमेंट यानी आर्गुमेंट क्या लेता है साइज पास द साइज इन बाइट्स ऑफ द मेमोरी यू नीड टू एलोकेट आप यहां जितने बाइट्स देंगे उतने बाइट की मेमोरी आपको बनाकर दे देगा पॉइंटर टाइप कास्टिंग हमने देख लिया हमको कास्ट करना पड़ेगा वॉइड पॉइंटर को अपने पॉइंटर में चौथा पॉइंट इंपॉर्टेंट है चेक फॉर नल यानी ऐसा हो सकता है कि हीप के अंदर मेमोरी अवेलेबल नहीं है उस केस में आपको क्या करना है पहले चेक करना है कि इसने जो रिटर्न किया है वो नल तो नहीं है इसने जो मेमोरी दी है वो नल तो नहीं है तो वो कैसे करेंगे यहां आप चेक कर लेंगे इफ ए आर इज इक्वल टू इक्वल टू इक्वल टू कैसे चेक करते हैं डबल इक्वल टू से नल तो आप क्या कर दीजिए रिटर्न वन यहां स्क्रीन पर मान लीजिए एक मैसेज भी डाल सकते हैं वन का मतलब एरर के साथ हम रिटर्न हुए हैं मान लीजिए मैं स्क्रीन पर मैसेज भी डाल देता हूं और हम लिख देते हैं नॉट इनफ मेमोरी भाई इतनी मेमोरी हमारे पास अभी अवेलेबल नहीं है इसलिए हम क्या कर रहे हैं रिटर्न वन करके बाहर जा रहे हैं और बाद में क्या करेंगे रिटर्न रो अगर ये इफ नहीं चलता है तो हम बाद में रिटर्न ज़ीरो करेंगे व्हिच इज सक्सेस अदर वाइज मैं बोलूंगा कि भाई मुझे नल चेक करके देना पड़ेगा कि मेमोरी इनफ नहीं है तो मैं जा रहा हूं बाहर ठीक है अगर हम इतनी बात हम कर चुके हैं और एक लास्ट पॉइंट इसका देख लेते हैं मेमोरी इनिश इजेशन का कि मेलक डज नॉट इनिला इज मेमोरी इट इज रॉ एंड मे कंटेन गार्बेज वैल्यू यानी ये जो मेमोरी आई है सारी की सारी इनिश इज्ड नहीं है तो हम अपना जो बेसिकली अभी तक हम चेक कर रहे थे वो देख लेते हैं अब तो हमको क्या करना है नॉर्मली ये सारे के सारे नंबर्स लेने हैं और इनका सम जो है वो देना है तो अब मैं क्या करूंगा तो मेरा मेरे को नॉर्मल फंक्शन लिखना है एरे मेरे पास आ गया है मैं बोलूंगा इंटी जर i = 0 i < साइज i + प् है ना प्रिंट ए एंड ंटर एलिमेंट नंबर परसेंटाइल डी और यहां हम दे देंगे i + 1 है ना तो एलिमेंट नंबर वन एलिमेंट नंबर टू इस तरह से आता रहेगा कॉलन दे देते हैं और उसके बाद क्या करेंगे स्कैन एफ कर लेंगे और स्कैन में हमको क्या करना है देखिए नंबर इनपुट करा रहे हैं तो देंगे परसेंटाइल डी और इन पर्सन ए आरआर अब मेरा एरे बन चुका है एरे में भैया आईए एलिमेंट पर आप जरा ये एलिमेंट को रख दीजिए तो ये मेरा फॉल्ड लूप तैयार हो गया अब दूसरे फॉल्ड लूप में मैं क्या करूंगा मैं बस सम जो है कैलकुलेट करके शो कर दूंगा तो मैं क्या कर सकता हूं यहां पर मैं देता हूं एक देखिए वैसे हम सेम लूप में भी कर सकते हैं काम बट अगर सेम लूप में करेंगे तो आईडियली फिर यह भी बोला जा सकता है कि फिर सम बेसिकली एरे की जरूरत ही नहीं है हम ये एग्जांपल ऐसे ही बना रहे हैं इसको लॉन्ग ले लेते हैं हो सकता है सम जो है इतने सारे नंबर्स का सम इंटी जर रेंज के बाहर हो जाए तो अब मैं क्या करूंगा अब मैं निकालूं सम तो हम लिख लेते हैं सम प्लस इक्वल टू है ना सब में आप ऐड करते रहिए क्या ए आर आर आ और जब यह वाला लूप भी मेरा खत्म हो गया है तो सम के अंदर आ चुका होगा मेरा सम तो फाइनली उसको प्रिंट कर देते हैं क्या प्रिंट f द सम ऑफ ऑल एलिमेंट्स इज परसेंटाइल एलडी च विल बी सम ठीक है अब एक बार इसको चलाकर देख लेते हैं हम कहां पर है हम है चैप्टर नंबर 11 में अभी तो बाहर आते हैं जाते हैं 12 के अंदर डायनेमिक मेमरी लोकेशन जीसीसी करते हैं मैलक को माइन मैलक डॉट आउट कोई एरर नहीं है सब कुछ ठीक से चल गया है मैलक आउट को चलाकर देख लेते हैं क्या बोल रहा है एंटर नंबर ऑफ एलिमेंट्स मान लीजिए मेरे पास पांच एलिमेंट है बोल रहा है एंटर एलिमेंट नंबर वन मान लीजिए छह है तीन है आठ है पांच है नौ है मैंने सारे के सारे एलिमेंट दे दिए इसने क्या दिया द सम ऑफ द एलिमेंट्स इज 31 यानी एरर कंडीशन हमारी नहीं चली नल चेक हमको नहीं करना पड़ा बाकी सारी चीजें यहां पर ठीक से हमारी चल गई है तो सिमिलर एग्जांपल है जो आपके हमने नोट्स में भी दिया हुआ है बेसिकली सेम तरह से यहां पर इसको सॉल्व करके हमने फाइनल सम जो है यहां पर दिखाया है इंपॉर्टेंट चीजें आपको क्या नोट करनी है इंपॉर्टेंट चीजें बस इतनी थी क्या पहली बात तो मेलक का सिंटेक्स क्या है मेलक के अंदर आपको टोटल नंबर ऑफ बाइट्स देने हैं टोटल नंबर ऑफ एलिमेंट्स नहीं देने ये बात याद रखिएगा तो आप क्या करेंगे साइज ऑफ इंटी जर यूज करके अगर आप एरे टाइप का कुछ इनिशियलिज्म से मल्टीप्लाई कर दीजिए और फाइनली आपको उसको कन्वर्ट करना है पॉइंटर टाइप में और अगली बात क्या अगली बात ये कि आपको हमेशा एक बार नल चेक करना है टू मेक श्यर कि आपको मेमोरी एलोकेट हुई है उसके बाद आपका जो प्रोग्राम है वो एकदम नॉर्मल तरह से चलता रहेगा ठीक है तो ये था दोस्तों यूज ऑफ मेलक अगला पॉइंट क्या है अगला पॉइंट है कैलक तो इसी का भाई है मेलक का भाई है कैलक कैलक किस तरह से चलता है देखिए इनिश इजेशन कैलक इनिश इजस ऑल एलोकेटेड मेमोरी टू जीरो पिछले वारा जो मेलक था वो कुछ भी इनिश इज नहीं करता था यानी जो मेमोरी मिली उसमें गार्बेज वैल्यूज हो सकती हैं कैलक क्या करता है कैलक पूरे में पहले जीरो भरता है उसके बाद ही आपको देता है सिंटेक्स क्या है दिस टेक्स टू आर्गुमेंट अब यहां पर ये दो आर्गुमेंट ले रहा है क्या-क्या नंबर ऑफ एलिमेंट्स एंड साइज ऑफ ईच एलिमेंट देखिए इसने थोड़ा सिंपल कर दिया है बोल रहा है आपको कितने एलिमेंट चाहिए पहले ये साइज दीजिए कॉमा लगाकर दीजिए आपके ईच एलिमेंट का साइज क्या है वो दीजिए है ना तो वहां जो हमको मैनुअली करना पड़ रहा था य यहां खुद कर रहा है प्रेफर्ड फॉर एरे एलोकेशन व्हेन ज़ीरो इनिश इजेशन इज नीडेड कहां कैलक यूज़ करेंगे वहां कैलक यूज़ करेंगे जहां पर ज़ीरो इनिश इजेशन की जरूरत हमको पड़ रही है यानी हम चाहते हैं कि सबकी वैल्यूज ज़ीरो हो मेमोरी ओवरहेड इसका देखिए ओवरहेड का मतलब इसको थोड़ा ज्यादा टाइम लग सकता है क्यों बिकॉज़ इसको इनिश इइ जशन भी करना है उसको सिर्फ मेमोरी इकट्ठी करके देनी थी इस इकट्ठे करने के बाद सारे में ज़ीरो पहले लोकेट करेगा तब देगा और रिटर्न टाइप क्या है यह भी व पॉइंटर रिटर्न करता है तो ओनली दो चेंजेज हैं मेलक के मुकाबले पहला तो इसमें आर्गुमेंट दो है यानी नंबर ऑफ एलिमेंट्स और साइज ऑफ ईच एलिमेंट अलग-अलग ले रहा है वो सिंगल ले रहा था तो वहां मल्टीप्लाई करके इसको दे रहे थे और दूसरा डिफरेंस क्या है ये सब में जीरो एलोकेट करके आपको देता है तो चलिए हम चलते हैं इसको इसको एक बार चला कर देखते हैं क्या करेंगे मैलक की कॉपी बना लेते हैं ऑलमोस्ट तो सेम ही है ये है ना बस इसको थोड़ा सा चेंज करके हम यूज करके देखेंगे तो इसका नाम हम रख देते हैं कैलक एक्सप्लोरर को बंद करते हैं और अब हम यह वाला जो मेन जो हमारा सिंटेक्स है इसको चेंज करेंगे क्या देखिए मेलक की जगह अब मैं क्या करूंगा मैं लिखूंगा कैलक है ना मेलक की जगह मैं लिखूंगा कलक और ये क्या है पहला लेता है ये नंबर ऑफ एलिमेंट्स तो मैंने बोल दिया नंबर ऑफ एलिमेंट्स इ साइज एंड ईच एलिमेंट का साइज क्या है साइज ऑफ इंट बस इतना ही चेंज करना है बाकी पूरा प्रोग्राम सेम तरह से चलेगा बट एक काम हम पहले कर लेते हैं हम क्या करते हैं यहां पहले फॉर लूप में जैसे ही मेरा इनिला इजेशन हो गया है उसके बाद पहले एक फॉर लूप लगाकर मैं चेक कर लेता हूं कि मेरे एलिमेंट्स सारे जीरो हैं या नहीं तो मैं क्या बोलूंगा प्रिंट एफ और यहां हम दे देंगे स्पेस लगाकर परसेंटाइल डी और मैं यहां लिख देता हूं ए आर आर आई यानी मैं पहले सारे के सारे एलिमेंट्स यहां पर प्रिंट करके देखूंगा पहले एक काम करते हैं ये सेम चीज हम करके देख लेते हैं मेलक के लिए भी है ना मेलक के लिए भी जैसे ही एलिमेंट असाइन हुए हैं पहले हम सबको प्रिंट करके देख लेते हैं कि वहां पर गार्बेज वैल्यू आ रही थी या नहीं है ना तो इसको क्लियर करते हैं अभी तो मैलक पे ही थे मैलक को मैं रन करके देखता हूं ये बोलता है नंबर ऑफ एलिमेंट्स मैंने बोल दिया मान लीजिए सिक्स देखिए सिक्स एंटर करते हैं यहां पर भी फिलहाल मेलक भी क्या कर रहा है जीरो जीरो कर रहा है तो गार्बेज ये डिपेंड करता है आपकी सिस्टम की इंप्लीमेंटेशन पर हो सकता है जहां से ये मिला वहां पर अभी सारे एलिमेंट जीरो जीरो ही रहे हो है ना पर मेलक जो है वो गारंटी नहीं करता जो कैलक है वो हमारा गारंटी करेगा तो कैलक को एक बार क कंपाइल करके अब हम देख लेते हैं मैलक का काम तो हमारा हो गया था कैलक को एक बार कंपाइल करके देख लेते हैं कैसे हम बोलेंगे जीसीसी कलक - o केलक डॉट आउट है ना बात ये है किसका कांट्रैक्ट क्या है कौन आपको क्या चीज प्रॉमिस कर रहा है वही यहां पर मैटर करता है फिर क्या लॉक चलाकर देख लेते हैं क्या लॉक बोल रहा है नंबर ऑफ़ एलिमेंट्स पांच देखिए पांच के पांच ज़ीरो प्रिंट हुए यहां पर 1 2 3 4 फाइव सबका सम इसने दे दिया 15 तो कैलक और मेलक में सिर्फ इतना डिफरेंस है अगेन दो चीजों की हमने बात की पहली बात तो सब सब एलिमेंट्स को ये ज़ीरो करेगा और अगली बात क्या करेगा ये यहां पर एक आर्गुमेंट की जगह दो आर्गुमेंट लेगा पहले लेगा नंबर ऑफ एलिमेंट्स और दूसरा लेगा साइज ऑफ ईच एलिमेंट ठीक है तो कैलक और मेलक में सिर्फ डिफरेंस इतना सा ही है अगला मेथड क्या है कैलक बेसिकली हमने कैलक के लिए भी आपको सेम एग्जांपल यहां पर दिखाया आपके नोट्स के लिए यहां पर आप कैलक यूज़ करेंगे n एंड साइज ऑफ इंट आप यूज़ करेंगे अगला क्या है फ्री मेथड है अभी देखिए अभी तक हमने दोनों मेथड से क्या किया है मेमोरी को एलोकेट किया है बट हमने बात की थी सबसे पहले जब हम इंट्रोडक्शन देख रहे थे डायनेमिक मेमोरी का कि जो मेमोरी आप एलोकेट करते हैं आप ही की जिम्मेदारी है उस मेमोरी को फ्री करने की भी तो यहां पर होगा क्या देखिए अगर हम नॉर्मल यहां पर एक एग्जांपल ले रहे हैं क्या हमने देखा एक इंटी जर पॉइंटर p हमने एलोकेट किया यानी यहां एरे हम एलोकेट नहीं कर रहे हैं सिंगल इंटी जर भी कर सकते हैं तो साइज ऑफ इंटी जर हमने बोला बस भाई चार बाइट का अगर दो बाइट का जो भी आपका इंटी जर है उसका एक मेमोरी खाली करके मेरे को इस नंबर में दे दीजिए हमने नल चेक कर लिया कि भाई मेमोरी लो इक्वेशन होगा या हो गया है या नहीं हो गया है वैल्यू असाइन की वैल्यू प्रिंट कर दी है मान लीजिए मेरा काम पूरा हो गया है उसके बाद आप क्या करेंगे फ्री के अंदर वो पॉइंटर पास कर देंगे जिसकी मेमोरी आपने खाली कर दी है तो फ्री के अंदर वो पॉइंटर पास कर दीजिए तो फ्री क्या करेगा ये इसकी जो मेमोरी है उसको खाली मार्क कर देगा कि भाई ये मेमोरी खाली हो चुकी है उसके बाद आईडियली आपको क्या करना चाहिए आपको अपने पॉइंटर को अब नल को मार्क कर देना चाहिए क्यों क्योंकि पॉइंटर अभी भी उस मेमोरी एड्रेस को पॉइंट करता है जो टेक्निकल चलिए आपका नहीं रहा क्यों आपने तो उसे पीछा छुड़ा लिया तो आपको अपने पॉइंटर को अब नल मार्क कर देना चाहिए ताकि वो उस वाले एक रैंडम मेमोरी पॉइंटर पर पॉइंट ना करता रहे जिसको डांगलिंग पॉइंटर भी बोला जाता है कि यू आर स्टिल पॉइंट टू सम मेमोरी दैट इज नॉट योर्स तो ये सिक्योरिटी रिस्क भी है तो इसलिए आपको क्या करना चाहिए उसको नल मार्क कर देना चाहिए तो अगर हम बात करें फ्री की फ्री करता क्या है दिस रिलीजस मेमोरी यानी फ्री डी एलोकेट्स प्रीवियसली एलोकेटेड मेमोरी मेकिंग इट अवेलेबल फॉर फ्यूचर एलोकेशंस यानी अब य ये p जहां पर भी एलोकेटेड था मेमोरी में अब क्या होगा ये उस बेसिकली के लिए फ्री हो गया है बाद में यूज़ हो सकता है दिस प्रिवेंट लीक्स क्योंकि एसेंशियल फॉर प्रीवेंटिंग मेमोरी लीक मेमोरी लीक का क्या मतलब होता है एक ऐसी मेमोरी जो किसी ने ली थी और उसके बाद वो उसको खाली करना भूल गया अब सिस्टम को तो ऐसा लग रहा है कि भाई ये मेमोरी आप इस्तेमाल कर रहे हैं जैसे कई बार ऐसा होता है ना लाइब्रेरी से आप बुक लेते हैं और बुक लेकर भूल जाते हैं उसके बाद कभी याद ही नहीं कि मुझे बुक वापस भी करनी थी अब ना तो उसको आप इस्तेमाल कर रहे हैं और ना उसको कोई और इस्तेमाल कर पा रहा है क्यों कोई और इसलिए नहीं इस्तेमाल कर पा रहा क्योंकि बाकी सबको तो लग रहा है कि आप उसको इस्तेमाल कर रहे हैं तो उसी को बोला जाता है मेमोरी लीक यानी वो बुक या मान लीजिए उस केस में बोलेंगे बुक लीक कि भाई बुक लीक हो गई ना आप ही इस्तेमाल कर रहे हैं ना कोई और कर रहा है तो ऐसी मेमोरी जो आपने एलोकेट की फिर आप डी एलोकेट करना भूल गए उसको बोला जाता है मेमोरी लीक तो फ्री क्या करता है मेमोरी लीक नहीं होने देता क्योंकि उसको फ्री मार्क कर देता है आर्गुमेंट क्या लेता है अंदर फ्री के अंदर आप क्या पास करेंगे वो पॉइंटर जो कि पूरे के पूरे मेमोरी ब्लॉक को पॉइंट करता हो आप बस वो पॉइंटर देंगे अपने आप उस पॉइंटर से जो भी पॉइंटेड है पूरे को खाली कर लेगा ये नल सेफ है यानी अगर आपने फ्री में कोई ऐसी चीज पास कर दी ऐसी ऐसा पॉइंटर पास कर दिया जो ऑलरेडी कोई नल कर चुका था मान लीजिए आप रिस्पांसिबिलिटी शेयर्ड है कोई मेमोरी है जो आप भी यूज़ करते हैं मैं भी यूज़ करता हूं तो आईडियली आपको हमेशा उसपे फ्री कॉल कर देना चाहिए जब आपको पता है कि काम हो चुका है क्योंकि अगर किसी ऑन ने पहले से भी फ्री मार्क करके उसको नल कर दिया है तो भी कोई फर्क नहीं पड़ता क्योंकि ये नल सेफ है यानी कॉलिंग फ्री विद अ नल पॉइंटर इज सेफ यानी आप इसको नल के साथ भी कॉल कर सकते हैं कोई एरर या कोई क्रैश नहीं होगा और आईडियली आपको क्या करना चाहिए वंस यूज़ करना चाहिए आफ्टर कॉलिंग फ्री द पॉइंटर शुड नॉट बी यूज्ड अंट्स टू अनदर एलोकेटेड मेमोरी यानी आपको इसको तुरंत नल मार्क कर देना चाहिए ताकि वो सेम मेमोरी पर आप पॉइंट ना करते रहे इसको अगर यूज़ करेंगे तो कैसे करेंगे मान लीजिए यहां पर आते हैं कैलक का ही मैं क्या करता हूं एक कॉपी बना लेते हैं और इसका नाम हम रख देते हैं रिनेम फ्री तो अभी तक एक्चुअली हमने जो पहले दोनों प्रोग्राम लिखे उसमें हमने क्या कर दिया है हमने क्या गड़बड़ कर दी है हमने एक्चुअली मेमोरी लीक कर दी है क्योंकि हमने देखिए मेमोरी एलोकेट तो की कैलक के साथ बट उसको हमने कहीं भी फ्री नहीं किया तो जब तक मेरा प्रोग्राम चलता रहेगा हालांकि हमारा प्रोग्राम छोटा ही है प्रोग्राम बंद होने पर तो सारी की सारी मेमोरी वो खाली कर ही लेगा बट जब तक प्रोग्राम चलता रहेगा तब तक ये जो मेरी मेमोरी है वो चलती रहेगी तो आईडियली हमको क्या करना चाहिए जब सम आपका पूरा हो गया है तब आप कॉल करिए फ्री और हमारा कौन सा पॉइंटर है जो हमको फ्री करना है ए आरआर पॉइंटर है ए आरआर जो पूरे के पूरे एरे को हमने एलोकेट किया है भै आप उस एरे को फ्री कर दीजिए और उसके बाद हम क्या करेंगे एरे को मार्क कर देंगे नल ताकि अब एरे जो है वो जिस भी मेमोरी पर पहले पॉइंट कर रहा था अब उस मेमोरी पर पॉइंट ना कर रहा हो है ना तो यह क्या करेगा विल फ्री द मेमोरी ठीक है तो फ्री का बस इतना ही इसका हम यूसेज कोई चलाकर तो देख नहीं सकते आप बस फ्री कॉल कर सकते हैं एंड अजूम कि भाई एरे को उसने मार्क कर लिया है कि अब ए आरआर जो है वो फ्री हो चुका है ठीक है अब आ जाते हैं अपने लास्ट पॉइंट पर लास्ट मेथड क्या है लास्ट मेथड है लॉक देखिए ये भी काफी इंपॉर्टेंट मेथड है लॉक क्या करता है सबसे पहले देखिए दिस रि साइजेस मेमोरी यानी मान लीजिए आपने कोई काम करना स्टार्ट किया आपको लगा यार मेरे को 10 एलिमेंट चाहिए बट जब आप काम कर रहे थे तब आपको लगा नहीं यार 10 नहीं चाहिए एक्चुअली 15 एलिमेंट की जरूरत है अब मैं क्या करूं मैंने डायनेमिक ली 10 तो एलोकेट कर लिए थे अब या तो मैं पांच एक और अलग जगह एलोकेट करूं है ना पर उससे क्या होगा मुझे दो बेसिकली पॉइंटर अलग-अलग मेंटेन करने पड़ेंगे तो आप रिसाइट भी कर सकते हैं तो लॉक इज यूज टू रिसाइट प्रीवियसली एलोकेटेड मेमोरी और सबसे इंपॉर्टेंट बात क्या है विदाउट लूजिंग द डाटा यानी आप 10 एलिमेंट तो ऑलरेडी स्टोर कर चुके हैं अगर आप उसको ये बोलेंगे कि भाई मुझे पांच एलिमेंट की जगह और चाहिए और आपके पहले 10 एलिमेंट लूज हो जाते हैं तो उस बात का कोई मतलब नहीं है तो ये क्या करता है ये आपका जो साइज है उसको रिसाइट कर देता है आपने जो मेमोरी ली उसको रिसाइट कर देता है विदाउट लूजिंग डाटा तो ये नया लोकेशन पास कर ता है इफ पास द नल पॉइंटर इट बिहेव्स लाइक मेलक है ना तो देखिए जब पहले लॉक का अगर हम देखेंगे तो ये क्या करता है आपको पहले इसमें देना होता है कि क्या ऑलरेडी चाहिए क्या ऑलरेडी मेरे पास है यानी अगर हम यहां एग्जांपल देखें हमने क्या किया पहले हमने एक दो इंटी जर का साइज एलोकेट किया है ना यानी 2 * साइज ऑफ़ इंट तो एआर 0 arr1 हमने मान लीजिए दो साइज का एक एरे यहां पर डिक्लेयर कर लिया अब हमने कहा नहीं हम इसको रिसाइट करेंगे तीन के लिए तो आपको पहले देना पड़ेगा कि भाई ये ए आरआर मेरे पास ऑलरेडी है आप इसको नया साइज ये कर दीजिए याद याद रखिएगा आप इसमें साइज ऐड नहीं कर रहे हैं यानी आप इसमें वन पास नहीं करेंगे कि एक एलिमेंट चाहिए आप यहां नया साइज देंगे वो पुराने से बड़ा भी हो सकता है छोटा भी हो सकता है देखिए उल्टा केस भी हो सकता है कि आपने बहुत ज्यादा मेमोरी ले ली थी अब आपको रिलाइज हुआ यार इतनी मेमोरी की जरूरत नहीं है तो लॉक आपका फ्री की तरह भी काम करेगा लॉक क्या करेगा आपने पहले 50 एलिमेंट लिए थे अब आप बोलेंगे भाई 10 ही एलिमेंट चाहिए तो बाकी 40 को वो फ्री कर देगा तो आप यहां देंगे नया साइज और यहां देंगे पुराना साइज तो ये क्या बोल रहा है कि इफ अगर आप पहली वाल में पहली जगह पर नल पॉइंटर पास कर देते हैं तो ये किस तरह काम करेगा मेलक की तरह काम करेगा क्योंकि पहला कुछ नहीं है पूरा नया असाइन करके आपको यहां पर दे देगा और अगर नया साइज आप जरो पास कर देते हैं आपके पास जो भी आप नया साइज रो पास कर देते हैं तो यह फ्री की तरह काम करेगा फ्री मतलब ये उस पूरी की पूरी मेमोरी को फ्री कर देगा क्योंकि अब आपने कहा है कि मुझे नया साइज सिर्फ जीरो ही रिक्वायर्ड है मेन पॉइंट इसका क्या है डटा प्रिजर्वेशन यानी अब मान लीजिए आपने बोला भाई मुझे 10 साइज दीजिए 10 साइज इसने आपको एक दे दिया अब आपने सडन बोला नहीं इसको 10 को ना जरा 100 कर दो अब देखिए जरूरी नहीं है आपको साइज तो पूरा जो डाटा मिलेगा वो तो कंटीन्यूअस मेमोरी लोकेशन मिलना है अब आपके जो बगल में 90 वाले घर थे 90 मेमोरी घर थे जरूरी नहीं क्या वो सारे के सारे फ्री हो तो अब कंपाइलर क्या करेगा आपने तो 10 से बोल दिया कि मेरे को 100 की जगह चाहिए ये क्या करेगा हो सकता है 100 की 100 जगह आपको कई नई जगह पर एलोकेट करे पर ये जब नई जगह पर भी एलोकेट करेगा तो भी आपके जो पहले 10 का डाटा है वो 10 का डाटा वहां मूव करेगा तब आपको नया जगह एलोकेट करेगा तो ये क्या बोल रहे हैं डटा प्रिजर्वेशन यानी अटेम्प्ट्स टू प्रिजर्व द ओरिजिनल डाटा इवन व्हेन मूविंग टू अ न्यू लोकेशन यानी अगर लोकेशन किसी वजह से मूव करनी पड़ जाती है साइज आपने ज्यादा बड़ा मांग लिया है यहां काम नहीं चल रहा है तो भी आप आपका डाटा प्रिजर्व करता है रिटर्न वैल्यू क्या है रिटर्न्स अ पॉइंटर टू द न्यूली एलोकेटेड मेमोरी व्हिच मे डिफर टू द ओरिजिनल पॉइंटर यानी यह पॉइंटर आपको रिटर्न करेगा वो नया वाला भी हो सकता है पुराने वाला भी हो सकता है एरर हैंडलिंग क्या है रिटर्न्स नन ऑल फेलियर विदाउट फ्रिइंग द ओरिजिनल ब्लॉक सो ऑलवेज चेक द रिटर्न वैल्यू यानी आपको यह देखना है अगर इसने नल रिटर्न किया है यानी ये नया एलोकेशन नहीं अभी कर पा रहा है तो हमने जो एग्जांपल यहां यूज़ किया है इसी एग्जांपल को एक बार हम अपने आप भी करके देख लेते हैं कैसे हम जो हमारा था अ यहां पर अ मान लीजिए कैलक को का हम एक कॉपी बना लेते हैं और इसका नाम हम रिनेम कर लेते हैं क्या री एलॉक देखिए हम क्या करेंगे अब हम बेसिकली नंबर ऑफ़ एलिमेंट्स नहीं दिख रहे एक दो का साइज दो अ बेसिकली साइज का एरे बना लेते हैं छोटा सा है ना तो हमने कैलक करके साइज बनाया था साइज को हम दे देते हैं टू हार्ड कोड कर देते हैं है ना और साइज वेरिएबल की अभी यहां पर जरूरत नहीं है मैं क्या कर रहा हूं मैं एक दो साइज का एरे बना रहा हूं अगर मेरे को पहली बार में नहीं मिलता है तो मैं बोल दूंगा नॉट इनफ मेमोरी उसके बाद हम क्या करते हैं मान लीजिए ए आरआर में वैल्यूज डाल देते हैं ताकि हम बाद में चेक कर सकें तो तो मान लीजिए मैं जीरो में वैल्यू डाल देता हूं ऐसे रैंडम 45 पहला एलिमेंट और अगले एलिमेंट में वैल्यू डाल देता हूं क्या 74 दो एलिमेंट्स मेरे ऑलरेडी हैं अब जब ये मेरे दो एलिमेंट्स हैं तब मुझे रियलाइफ करेंगे रिलक तो मैं कैलक की जगह बोलता हूं री एलॉक और अब अब मेरे को डिक्लेयर करने की जरूरत नहीं है क्योंकि एरे पॉइंटर तो ऑलरेडी डिक्लेयर्ड है और यहां अब हमको क्या पास करना पड़ेगा हमको पास करना पड़ेगा ओरिजिनल पॉइंटर और नया वैल्यू आपको क्या चाहिए तो देखिए मैलक की तरह है तो यहां क्या करना है आपको फाइनल साइज देना है तो ू की जगह मैं क्या कर दूंगा यहां बोल दूंगा भाई तीन एलिमेंट्स चाहिए ऑफ साइज इंट एंड दो एलिमेंट मेरे पास ऑलरेडी हैं और इनको आप कन्वर्ट करके डाल दीजिएगा ए आरआर में एक काम यहां पर और करते हैं यहां से पहले एक बार प्रिंट कर देते हैं क्या ए आरआर का एड्रेस एक्चुअली क्या है एड्रेस ऑफ ए आरआर और एड्रेस कैसे लेते हैं परसेंटाइल p के साथ और यहां हम प्रिंट कर देंगे ए आरआर ताकि हमको पता रहे कि ए आरआर का एड्रेस ऑलरेडी क्या था ए आरआर में वैल्यूज ये थी अब ए आरआर यहां आ गया है है ना तो अब न्यू एड्रेस प्रिंट कर देते हैं देखिए जरूरी नहीं कि एड्रेस नया हो हो सकता है सेम जगह पर ही एक बगल वाली जगह खाली थी तो उसने हमको दे दी है ना उसके बाद क्या करेंगे अब यहां पर प्रिंट करके देखते हैं अच्छा ये मैंने जीरो की जगह वन नहीं किया है ना पह पहला एलिमेंट दूसरा एलिमेंट अब यहां पर इनको प्रिंट करके देख लेते हैं प्रिंट कैसे करेंगे मैं बोलता हूं ओरिजिनल एलिमेंट्स आर परसेंटाइल परसेंटाइल डी एंड परसेंटाइल डी स्पेस लगाकर दोनों को प्रिंट कर देते हैं क्या ए आरआर 0 एंड ए आरआर व को देखिए दोनों को हमने यहां पर चेक कर लिया है प्रिंट कर लिया है एक काम जो हम हम हमको करना चाहिए था हमने नहीं किया वो ये कि रिए लॉक के बाद भी आइडियल आपको क्या करना चाहिए दोबारा से चेक करना चाहिए कि रिलक आपको दे पाया या नहीं दे पाया वैसे तो हम एक ही एलिमेंट मांग रहे हैं है ना तो आजकल के कंप्यूटर सिस्टम में एक एलिमेंट तो मिल ही जाना चाहिए हमने कोई 10000 200 हज एलिमेंट की रिक्वायरमेंट नहीं दी है बट अगेन प्रोग्रामिंग प्रैक्टिस इज अ प्रोग्रामिंग प्रैक्टिस तो हमको क्या करना है यहां पर इसको चेक करके चलना है दोनों ओरिजिनल एलिमेंट्स हमने प्रिंट करा लिए बाकी सारा कोड हम जो पुराना है उसको हटा देते हैं है ना हमको एक्चुअली तीसरा जगह यूज तो करना नहीं था तीसरी जगह में अभी हम कुछ कर नहीं रहे हैं या मान लीजिए यहां करके देख लेते हैं ताकि ये ना लगे ये पता चल जाए कि तीसरी जगह हमको मिल गई थी और हम उसमें कुछ ना कुछ डाल पा रहे हैं तो एर आर 2 को मैं डाल देता हूं 98 इसको हम कहीं प्रिंट नहीं कर रहे बट इससे पता चल जाएगा कि एआर 2 हम एक्सेस भी कर पा रहे हैं या नहीं कर पा रहे अब इसको एक बार चला कर देख लेते हैं कैसे चलाए आंगे मैं कर लेता हूं जीसीसी रिलक एक बार इसको मैं दोबारा एक्सप्लेन करूंगा आपको कि हमने क्या किया है जस्ट इन केस आप मिस कर गए हो है ना तो देखिए कोई एरर नहीं आया चल गया डॉट रिलक हमने चलाया तो देखिए क्या हुआ पहले एड्रेस ऑफ ए आरआर प्रिंट हुआ था अगेन मैं फिर से एक चीज भूल गया जो हम हमेशा भूल जाते हैं क्या बैक स्ल ए लगाना ताकि सारा आउटपुट एक साथ ना दिखे जीसीसी रि अलक देखिए क्या हुआ सबसे पहले नॉर्मल एड्रेस प्रिंट हुआ यानी पहले वाला आर का एड्रेस प्रिंट हुआ जब हमने रि एलॉक किया तो फिर से एड्रेस प्रिंट हुआ देखिए क्या हुआ है मेमरी लोकेशन चेंज ही नहीं हुई यानी मेरे बगल में उसको एक जगह मिल गई तो उसने क्या किया यहीं पर ही एलोकेट कर दिया है ओरिजिनल एलिमेंट्स की वैल्यू देखिए चेंज नहीं हुई वैसे तो मेमरी लोकेशन भी चेंज नहीं हुई तो लोकेशन चेंज नहीं हुई है बट हम ये मान कर चल सकते हैं कि लॉग क्या करेगा अगर लोकेशन चेंज हो भी गई होती तो भी हमारे एलिमेंट्स की लोकेशन जो है वो चेंज बेसिकली वैल्यू जो है वो चेंज नहीं होती दोनों एलिमेंट्स अभी भी प्रिजर्व्ड हैं वैल्यू 45 एंड 74 ठीक है तो यहां हमारा दोस्तों लॉक भी खत्म होता है देखिए डायनेमिक मेमोरी लोकेशन में इतना ही था हमने चारों जो हमारे मेथड्स थे उनको अच्छे से देखा पहले समझा डायनेमिक मेमोरी एलोकेशन का मतलब क्या है इसकी जरूरत क्या है सबसे पहले यह हमको समझ आया कैसे हम डायनेमिक जब हम कुछ प्रोग्राम में जहां पर जरूरत है जहां पर जितनी मेमोरी की जरूरत है उसको यूज़ कर सकते हैं उसके बाद हमने देखा कैसे मेलक के कैलक के सिंटेक्सेस हैं कैसे हमको ये मेमोरी हमेशा पॉइंटर वाली मेमोरी होगी पॉइंटर को हमको कास्ट करना है अगर मान लीजिए स्ट्रक्चर भी आप यहां पर यूज़ कर रहे थे तो स्ट्रक्चर में भी आप बस कास्ट करते हुए क्या देंगे अपना स्ट्रक्चर पॉइंटर दे देंगे और अपने स्ट्रक्चर में वो मेमोरी आपको मिल जाएगी फ्री हमने देखा कैसे खाली कर सकते हैं और रिय लॉक में हमने देखा कैसे रिय लॉक कभी मेलक की तरह काम करता है कभी फ्री की तरह काम करता है इन मोस्ट केसेस में हमारे डाटा को प्रिजर्व करके हमारा जो डाटा का साइज है वो बड़ा या छोटा वो हमारे लिए कर सकता है इसके बाद करते हैं इसकी थोड़ी सी एक्सरसाइजस और उसके बाद चलिए जल्दी से चलते हैं हमारे नेक्स्ट चैप्टर की तरफ डायनेमिक मेमोरी एलोकेशन कैसा लगा चैप्टर नंबर 12 उम्मीद कर रहा हूं समझ आया होगा और ये देखिए जब प्रोजेक्ट्स करेंगे तो काफी ज्यादा यूज भी होगा तो यहां क्या करेंगे पांच हमारे पास प्रैक्टिस क्वेश्चंस हैं चैलेंज हैं इनको एक बार सॉल्व करते हैं उसके बाद बढ़ेंगे आगे क्या-क्या है क्रिएट अ प्रोग्राम दैट डायनेमिक एलोकेट्स मेमोरी फॉर अ कार स्ट्रक्चर सेम कार स्ट्रक्चर जो हमने पहले बनाया था यहां उसी को यूज़ करेंगे बेसिकली उसकी मेमोरी यूज़ करनी है एंड देन फ्री एट द एंड ऑफ द प्रोग्राम एंड में क्या करें आप उसको फ्री करें तो बेसिकली एलोकेट करें उसको यूज़ करें इनपुट कराएं आउटपुट कराएं फाइनली उसको फ्री कर दें फिर क्या है देखिए हमने डायनेमिक मेमोरी एलोकेशन सिर्फ एरे वगैरह के लिए किया है स्ट्रक्चर के लिए नहीं किया तो स्ट्रक्चर आप यहां पर करिए नहीं समझ आता है तो सॉल्यूशन वीडियो में आप इसका सॉल्यूशन देख सकते हैं देन क्रिएट अ प्रोग्राम दैट यूसेज मेलक का इस बार इस्तेमाल करना है टू डायम डाय एलोकेट एन एरे फॉर स्पेसिफाइड नंबर ऑफ फ्लोट वैल्यूज फ्लोट वाला एरे होना चाहिए एक एंटर्ड बाय द यूजर नंबर ऑफ एलिमेंट्स यूजर एंटर करेगा एंड देन स्टोर यूजर एंटर्ड नंबर्स एन एडिया फिर यूजर से एक-एक करके नंबर्स एंटर कराइए और उसके अंदर स्टोर आप करते रहिए फिर क्या है यूज कैलक टू एलोकेट एन एरे फॉर अ सेट ऑफ कैरेक्टर्स सेट ऑफ कैरेक्टर आपको बनाना है यानी एक बेसिकली एरे का आपको एरे सॉरी कैरेक्टर का आपको एरे बनाना है रिप्रेजेंटिंग अ सेंटेंस इंश्योरिटी सेट किया है या नहीं किया है देन नंबर 97 एलोकेट मेमोरी फॉर अ स्ट्रक्ट रिप्रेजेंटिंग अ पॉइंट एक पॉइंट आपको स्ट्रक्चर बनाना है जिसके अंदर x और y हो उसको आपके लिए उसके लिए आपको मेमोरी भी एलोकेट करनी है सेट सम वैल्यूज देन प्रॉपर्ली डी एलोकेट द मेमोरी यूजिंग फ्री ठीक है फ्री से आपको मेमोरी को डिएलोकेट भी करना है नंबर 98 देखिए सेंचुरी के बड़े करीब आ रहे हैं उसके बाद क्या होता है सिंगल सिंगल लेने लगते हैं लोग तो प्रोग्राम्स को एक-एक करके करिएगा क्रिएट एन अरे यूजिंग कैलक एंड फिल इट विद रैंडम नंबर्स पहले कैलक से भरिए उसके बाद रैंडम नंबर्स से फिल करिए देन यूज़ लॉक टू श्रिंक द एरे साइज फिर क्या करना है रिएलोकेट से एरे का साइज श्रिंक करिए बाय हाफ एंड प्रिंट द रिमेनिंग नंबर्स यानी फिर प्रिंट करिए कि कैसे अभी बचे हुए हाफ आप प्रिंट कर पा रहे हैं ठीक है तो देखिए पांच हैं अच्छे अच्छे खासे प्रोग्राम्स हैं इनको आपको ट्राई करना है नहीं तो सॉल्यूशन वीडियो देखना है सेंचुरी के काफी करीब पहुंच गए हैं लास्ट चैप्टर पर जाएंगे तो सेंचुरी भी लग जाएगी दोस्तों स्टार्ट करते हैं हमारा लास्ट चैप्टर जिसका नाम क्या है फाइल इनपुट आउटपुट यानी फाइल हैंडलिंग हम यहां पर सीखने वाले हैं देखेंगे फाइल्स के साथ किस-किस तरह से काम किया जाता है फाइल का मतलब क्या है अभी तक हमने जो भी कोड चलाया वो क्या होता है वह रम में हमारी स्टोर होता है जैसे ही प्रोग्राम खत्म होता है हमारे वेरिएबल जो जो भी मेमरी हमने ली चाहे डायनेमिक हो चाहे नॉर्मल हो और वो जैसे ही हमारा प्रोग्राम खत्म होता है सब कुछ खत्म हो जाता है अब हम देखेंगे ऐसे प्रोग्राम कैसे लिखने हैं जिनके बाद में आउटपुट में फाइल आ सके यानी परमानेंट स्टोरेज में हमारा जो डाटा है वो मूव हो सके है ना तो जिस तरह की फाइल्स आपको यहां पर दिख रही है इसी टाइप की फाइल्स में हमारा डटा ताकि हमको यहां पर दिख सके है ना तो डेटा ऑर्गेनाइजेशन देखेंगे फाइल के ऑपरेशंस देखेंगे े क्या-क्या होते हैं टेक्स्ट बाइनरी फाइल्स में डिफरेंस बाइनरी फाइल्स आप समझेंगे जब हम यहां पर पढ़ेंगे तो फाइल के सारे के सारे ऑपरेशंस किस तरह से करने हैं यहां पर उसके बाद वो देखेंगे और लास्ट में देखेंगे फाइल ओपन करने के और क्या-क्या तरीके दोस्तों हो सकते हैं तो चलिए बिना टाइम वेस्ट किए जल्दी से शुरू करते हैं हम कोर्स के एकदम एंड की तरफ आ रहे हैं सबसे पहले देखेंगे डेटा ऑर्गेनाइजेशन डेटा ऑर्गेनाइजेशन का क्या मतलब है देखिए डेटा हम जो भी बेसिकली कंप्यूटर में यूज़ करते हैं किस तरह से ऑर्गेनाइज्ड होता है देखिए रजिस्टर हमने पढ़ा था एक स्टोरेज अ क्लास जब हम थे चैप्टर शायद एट या ना में है ना एट में तो स्टोरेज क्लास में क्या था कि सीपीयू रजिस्टर्स जो होते हैं वो सबसे ज्यादा सीपीयू के पास होते हैं सबसे ज्यादा कॉस्टली होते हैं सबसे कम टाइम उनमें लगता है तो अगर आप देखें यहां पर हमने उल्टा यरार की बनाया हुआ है सीपीयू रजिस्टर्स आर ऑन टॉप है ना सबसे मुश्किल सबसे महंगे ये हैं उसके बाद यहीं पर होती है कैश तो सारे के सारे लेवल्स यहां पर नहीं है पर उसके बाद होती है सीपीयू कैश फिर आती है मेन मेमोरी मेन मेमोरी का मतलब क्या है हमारी रम ये मैग्नेटिक कोर और सेमीकंडक्टर्स की बनी होती है उसके बाद है ऑनलाइन स्टोरेज जैसे कि मैग्नेटिक डिस्क या जो भी आपके सिस्टम में डिस्क लगी हुई है का मतलब है जो सिस्टम में डिस्क लगी हुई है देखिए आपको डिफरेंस समझना है मेमोरी का मतलब है रैम जो टेंपरेरी एक्सेस होता है डिस्क का मतलब है स्टोरेज जिसको आप हार्ड डिस्क बोलते हैं हार्ड डिस्क मतलब उसमें डाटा हमेशा रहेगा तो वो हो गई ऑनलाइन स्टोरेज और उसके बाद ऑफलाइन स्टोरेज का क्या मतलब है जो आप निकाल कर ले जाते हैं जैसे आजकल क्या चलता है आजकल तो एक्सटर्नल हार्ड ड्राइव चलती हैं या उससे पहले क्या क्या चला करता था आपकी सीडी डीवीडी ब्लूरे डिस्क्स है ना या पेन ड्राइव जो उस तरह की चीजें होती हैं वो आएंगी ऑफलाइन स्टोरेज में तो इनकी जो बेसिकली कॉस्टिंग है और जो प्रायोरिटी है वो इसी तरह चलती है सब सबसे इंपॉर्टेंट ये है और सबसे लीस्ट इंपॉर्टेंट ये है तो अगर हम यहां रम की बात करें रम क्या है टेंपरेरी एक्सेस के लिए जो यूज होता है वो रम है रोम क्या है जब आप सिस्टम लाकर खोलते हैं तो उसमें कुछ ऑपरेटिंग सिस्टम पड़ा हुआ होता है पहले से वो कहां जाता है वो जाता है रीड ओनली मेमोरी में जिसमें जनरली फर्मवेयर यानी ऑपरेटिंग सिस्टम को सेव किया जाता है हार्ड डिस्क की बात करें तो हम समझ गए मैकेनिकल स्टोरेज है जो क्या है जनरली या तो गोल-गोल घूमने वाली होती है आजकल फ्लैश स्टोरेज भी होती है है ना पर जब एचडीडी का माना जाता है तो एचडीडी का मतलब यही माना जाता है कि उसके अंदर मैग्नेटिक डिस्क हैं जो घूम रही हैं गोल-गोल और उससे आपको हार्ड ड्राइव मिल रही है उसके बाद क्या है सॉलिड स्टेट ड्राइव जिसकी अभी मैं बात कर रहा हूं आजकल के मॉडर्न फस या कंप्यूटर सब में क्या आता है एचडीडी की जगह एसएसडी आता है व्हिच इज वेरी वेरी फास्ट नॉन वोलेटाइल नॉन वोलेटाइल का क्या मतलब है यानी उड़ती नहीं है जो आपने इसमें लिख दिया वो बना रहेगा है ना उसके बाद कैश मेमोरी कैश मेमोरी क्या है वोलेटाइल है स्पीडी है ये जनरली क्या होता है सीपीयू रजिस्टर के बाद सबसे पास में क्या होती है कैश मेमोरी होती है वर्चुअल मेमोरी देखिए कई बार क्या होता है अगर आपके सिस्टम में रम कम पड़ जाए तो ऑपरेटिंग सिस्टम क्या करता है हार्ड को ही रम बनाने की कोशिश करता है यानी है वो परमानेंट स्टोरेज है वो स्लो बट उसमें भी जो चलते हुए प्रोग्राम है उनका डाटा भी डालेगा क्योंकि क्या करें रम खत्म हो गई है उसको क्या बोलते हैं वर्चुअल मेमोरी बोलते हैं पार्ट ऑफ हार्ड ड्राइव यूज्ड एज रम फ्लैश मेमोरी की बात करें तो अगेन नॉन वोलेटाइल है ऑप्टिकल स्टोरेज हो गई आपकी सीडी डीवीडी ब्लूरे तो ये बेसिकली मैं बेसिकली हमारा अटेंप्ट ये था कि आपको मोटा-मोटा समझ आए किस-किस तरह की मेमोरी और स्टोरेजेस होती हैं और उनकी क्या कॉस्टिंग है क्या बेसिकली सबसे इंपॉर्टेंट है क्या लीस्ट इंपॉर्टेंट है अगर हमको ये समझ आ गया है उसके बाद आएंगे अब सबसे इंपॉर्टेंट नेक्स्ट पॉइंट पर कि डाटा ऑर्गेनाइज किया किस तरह से जाता है देखिए हम क्या चाहते हैं हम चाहते हैं फाइल ऑपरेशंस करना हम जब अपने कोड में फाइल ऑपरेशन लिखेंगे तो मेरा कोड दिखा है तो लाइब्रेरी फंक्शंस क्या होंगे ऑपरेटिंग सिस्टम के हिसाब से चेंज हो जाएंगे जब आप मैक पर चलाएंगे तो उसके लाइब्रेरी फंक्शंस आएंगे तो बेसिकली लाइब्रेरी फंक्शन अपने आप ये देखेगा कि मुझे कौन से ऑपरेटिंग सिस्टम से बात करनी है ताकि मैं डिस्क में डाटा स्टोर कर सकूं हमारा क्या काम है हमारा काम है सिर्फ लाइब्रेरी फंक्शन जो बोल रहे हैं उसको सत्य मान के काम करना तो हमको अलग-अलग ओस यानी यहां मान लीजिए मैक आ गया यहां आ गया विंडोज तो लाइब्रेरी फंक्शन क्या करेंगे अलग-अलग तरह से बात करेंगे मैक से विंडोस से ओ से ए से किसी से भी है ना हमको क्या करना है हमको सिर्फ लाइब्रेरी फंक्शन से बात करनी है तो सिंपलीसिटी आ जाती है इससे सी लाइब्रेरी फंक्शन प्रोवाइड अ सिंपल इंटरफेस य हमको सिंपल एक इंटरफेस देते हैं कि भाई आप ये ये फंक्शंस यूज़ कर लीजिए आपका काम हो जाएगा पोर्टेबिलिटी है क्यों क्योंकि हम तो सेम लाइब्रेरी फंक्शन की कॉल्स करेंगे और वो प्रोग्राम पोर्टेबल होगा मैक पर भी बेसिकली विज पर भी अलग-अलग कोई भी ऑपरेटिंग सिस्टम आप चलाएंगे ये क्या कर रहा है सील फंक्शन एब्स्ट्रेक्शन एब्स्ट्रेक्शन मतलब आप एब्स्ट्रेक्शन का मतलब होता है आपको उतनी ही बात बताना जितनी आपके लिए जरूरी है पूरी बात आपको नहीं बताना तो ये क्या कर रहा है सी लरी फंक्शन आपको अंदर की बातें बता ही नहीं रहा कि क्या-क्या कॉम्प्लेक्शन है अलग-अलग ऑपरेटिंग सिस्टम के साथ डील करने के लिए आपको बस इतनी बात बता रहा है कि भाई ये फंक्शन कॉल करोगे तो फाइल बन जाएगी ये करोगे तो खत्म हो जाएगी ये करोगे तो खुल जाएगी ये करोगे तो रीड हो जाएगी बस आप इतना ही जानिए आपके लिए इतना काफी है तो क्या होता है इससे हमारी हेल्प हो जाती है क्योंकि हमको इंटरनली घुसना नहीं है इंटरनल डिटेल कल को चेंज भी होंगी तो हमको उससे कोई फर्क नहीं पड़ेगा है ना तो अब हम देखेंगे हमय हम ये लाइब्रेरी फंक्शंस किस तरह से दोस्तों इस्तेमाल कर सकते हैं तो सबसे पहले आते हैं कौन-कौन से फाइल के ऑपरेशंस जो है सी के लाइब्रेरी फंक्शन सपोर्ट करते हैं हमारे लिए तो देखिए छह तरह के ऑपरेशंस हैं जो हो सकते हैं अभी हम क्या कर रहे हैं कैसे करेंगे ये नहीं दिख रहे क्या ऑपरेशंस हो सकते हैं अभी सिर्फ इतना दिख रहे हैं कौन-कौन से ऑपरेशन हो सकते हैं एक नई फाइल को क्रिएट करना एक नई फाइल को डिस्क पर क्रिएट करना मान लीजिए नई डटी एकटी फाइल बना रहे हैं हम किसी भी तरह की फाइल बना रहे हैं नई फाइल को क्रिएट करना हो सकता है दूसरा क्या है ओपनिंग एंड एजिस्टिफाई यानी एजिस्टिफाई को ओपन कर लेना ठीक है उसके बाद क्या होगा फाइल आपकी ओपन हो गई फाइल ओपन करके आप क्या करेंगे या तो आप रीड करेंगे या आप राइट करेंगे तो या तो उस फाइल का जो कंटेंट है वो आप पढ़ना चाहते हैं या उस फाइल में आप कोई कंटेंट राइट करना चाहते हैं तो ये दोनों कवर हो जाएंगे उसके बाद क्या होगा मूविंग टू अ स्पेसिफिक लोकेशन इन अ फाइल यानी आप मान लीजिए फाइल पढ़ना तो चाहते हैं बट पहला पेज पढ़ना नहीं चाहते आप तो 20वें पेज पर कुछ जो लिखा है वो पढ़ना चाहते हैं उसको बोला जाता है सीकिंग यानी पर्टिकुलर पोजीशन पर जाना और लास्ट क्या है जब मेरा का काम पूरा हो गया है तो फाइल को ठीक से क्लोज करना ताकि वो करप्ट ना हो जाए उसका डाटा खराब ना हो जाए जब मैं बोलूंगा मुझे जो पढ़ना था लिखना था मैंने लिख लिया है तब उसको प्रॉपर्ली क्लोज करेंगे प्रॉपर्ली सेव करेंगे तो ये सारे ऑपरेशंस हैं जो अभी हम आगे चलके पढ़ने वाले हैं ऑपरेशंस पढ़ने से पहले एक बात और हमको समझनी जरूरी है क्या दो तरह की फाइल्स का डिफरेंस यानी टेक्स्ट फाइल और बाइनरी फाइल दो तरह की फाइल्स होती है देखिए बड़ी सिंपल सी समझने की बात है पॉइंट ये है कि फाइल किसके लिए बनाई गई है अगर फाइल बनाई गई है इंसान के लिए तो वो होगी टेक्स्ट फाइल यानी आप उसमें टेक्स्ट पढ़ पाए जैसे हम नर्मल . txt.gz कंप्यूटर के लिए बनाई गई है उसके अंदर क्या मिलेगा आपको 10 101 टाइप के इंस्ट्रक्शंस मिलेंगे और उसको ह्यूमंस रीड नहीं कर सकते दोनों ही टाइप की फाइल्स हम बना सकते हैं उनको यूज कर सकते हैं तो क्या फर्क है इनमें इनकोडिंग का एक होगी ह्यूमन रीडेबल बेसिकली फॉर्मेट दूसरा होगा इन मेमोरी रिप्रेजेंटेशन ऑफ इंस्ट्रक्शंस यानी प्रोग्राम आपका किस तरह से चलने वाला है अगला पॉइंट क्या है डेटा डेटा इंटरप्रिटेशन यानी टेक्स्ट फाइल रिप्रेजेंट डेटा एज कैरेक्टर्स इसमें डाटा क्या होगा कैरेक्टर्स की फॉर्म में होगा और इसमें क्या होगा सीक्वेंस ऑफ बाइट्स की फॉर्म में होगा पोर्टेबिलिटी देखिए टेक्स्ट फाइल अब मैंने अगर यहां हेलो वर्ड लिखा है मैं फोन पर जाकर खोल लूं कहीं भी जाकर खोल लूं उस फाइल में क्या लिखा होगा हेलो वर्ड लिखा होगा बट जो बाइनरी फाइल है वो सिस्टम स्पेसिफिक होती है यानी इस सिस्टम पर इस टाइप के सिस्टम्स पर ही चलेगी जरूरी नहीं है देखिए जैसे आपकी ए की एप्स आप आओ में बेसिकली चला नहीं सकते आओ की आप ए में नहीं चला सकते इसका मतलब बाइनरी फाइल्स क्या होती हैं सिस्टम स्पेसिफिक होती हैं वो एक ही टाइप के ऑपरेटिंग सिस्टम में एक ही टाइप के हार्डवेयर पर चल सकती हैं वो पोर्टेबल बेसिकली नहीं होती है लास्ट क्या है एफिशिएंसी बाइनरी फाइल्स आर जनरली मोर एफिशिएंट फॉर आईओ ऑपरेशंस क्यों क्योंकि देखिए कंप्यूटर से आपको आईओ कराना है तो कंप्यूटर अपनी वाली जो लैंग्वेज है उसके लिए तो एफिशिएंट होगा ही उसको कोई कन्वर्जन नहीं करना है आपकी वाली लैंग्वेज को उसको कन्वर्ट करना पड़ता है देखिए इवेंचर तो यह भी सेफ हेलो वर्ड भी जाके सेफ 101 में ही पर वह आपको दिखा नहीं रहा है तो क्योंकि इस वाले में उसको एक एक्स्ट्रा कन्वर्जन का स्टेप करना पड़ेगा तो यह वाली थोड़ी कम एफिशिएंट होती है बाइनरी फाइल थोड़ी ज्यादा एफिशिएंट यहां पर मानी जाती है ठीक है अब दोस्तों हम शुरू करेंगे अपना हमने ज्ञान बहुत ले लिया पढ़ बहुत लिया समझ बहुत लिया सर कोड करेंगे जल्दी से तो चलिए कोड पर आ जाते हैं सबसे पहली चीज हम जो समझेंगे वो समझेंगे कि फाइल पॉइंटर क्या होता है है ना अब देखिए ये प्रोग्राम है ये प्रोग्राम मैंने पूरा लिख दिया है फाइल रीड करने के लिए बट आपको अभी क्या ध्यान देना है आपको सिर्फ इस एक लाइन पर ध्यान देना है जो रेड से मार्क्ड है ये पूरा रीड करने का प्रोग्राम है एक-एक करके इसके एक-एक स्टेप को हम समझेंगे बट पहले क्या समझना है फाइल पॉइंटर समझना है कि फाइल पॉइंटर होता क्या है फाइल पॉइंटर एक बार आपकी पकड़ में आ गया तो बाकी पूरा प्रोग्राम भी आपकी पकड़ में आ जाएगा तो देखिए पॉइंटर तो नाम सुना-सुना लग रहा है फाइल का क्या मतलब है देखिए क्या है ये एक वेरिएबल का बस टाइप है अब फाइल पॉइंटर इज टाइप फाइल पॉइंटर जैसे नॉर्मल हमने स्ट्रक्चर के पॉइंटर बनाए इंटी जर के पॉइंटर बनाए ऐसे ही हमने बनाया फाइल पॉइंटर एंड इज यूज्ड एज अ रेफरेंस टू अ फाइल यानी ये किसका रेफरेंस है जनरली आपको मेमोरी का अभी तक रेफरेंस मिलता था ये जो फाइल पॉइंटर है किसका रेफरेंस है आपकी फाइल का आपके पास एड्रेस है मान लीजिए फाइल का रेफरेंस है इसकी मदद से आप फाइल पे ऑपरेशंस करने वाले हैं क्या है सी ऑटोमेटिक प्रोवाइड्स फाइल पॉइंट्स लाइक स्टैंडर्ड इन स्टैंडर्ड आउट स्टैंडर्ड एरर यानी जो बेसिकली आपका कंसोल होता है टर्म होता है उसको भी सिस्टम किस तरह से ट्रीट करता है फाइल की तरह ही ट्रीट करता है आपने देखा होगा जब हम एफ गेट्स यूज़ कर रहे थे हमने वहां क्या पास किया था स्टैंडर्ड इन पास किया था क्यों ये बताने के लिए कि भाई वो भी एक फाइल टाइप है वहां से आप मुझे कुछ रीड करके दीजिए तो ये क्या बोल रहा है सी इस टाइप के फाइल पॉइंटर आपको ऑलरेडी बनाकर देता है उसके बाद क्या है आप इसके साथ क्या-क्या कर सकते हैं ओपनिंग फाइल फाइल पॉइंटर आर एसोसिएटेड विद फाइल्स ऑन डिस्क थ्रू द एफ ओपन फंक्शन ये क्या करता है जब आप कोई फाइल को ओपन करने की कोशिश करते हैं तो वो फाइल को खोलेगा और आपको एक उसका पॉइंटर लाकर दे देगा पॉइंटर की मदद से ही हम रीड राइटिंग भी करेंगे दे आर यूज्ड फॉर रीडिंग फ्रॉम और राइटिंग टू फाइल्स कौन-कौन से फंक्शंस यूज होते हैं आगे चलके अभी हम यूज़ करेंगे एफ रीड राइट प्रिंट स्कैन एफ का क्या मतलब है फाइल यानी फाइल रीड फाइल राइट फाइल प्रिंट फाइल स्कैन इस तरह के जो भी फंक्शंस हैं इनसे हम क्या करेंगे रीड राइट करेंगे बट कैसे कर पाएंगे जब तक फाइल पॉइंटर नहीं होगा नहीं कर पाएंगे फिर क्या है पोजीशन ट्रैकिंग फाइल पॉइंटर ही बताता है इस समय आप फाइल में कहां पर हैं यानी आप पांचवी लाइन पर हैं आप पांचवें पेज पर हैं 20वें पेज पर हैं कहां है ये भी फाइल पॉइंटर ही बताता है और जब आपका सारा काम खत्म हो जाता है तो फाइल पॉइंटर की मदद से ही आप क्लोज भी करते हैं तो यहां समझ क्या आ रहा है फाइल पॉइंटर एक मेन की है जिसको आपको हाथ में पकड़ना है अगर वो आपके पकड़ में आ गई तो फाइल ओपन करना फाइल क्रिएट करना फाइल ओपन करना फाइल रीड करना राइट करना अपेंड करना अपेंड करना भी सीखेंगे बाद में क्या होता है क्लोज करना सब कुछ कहां से होगा फाइल पॉइंटर से ही होगा फाइल पॉइंटर डिक्लेयर कैसे करेंगे देखिए आप लिखेंगे एफ आई एल ई कैपिटल में लिखना है ये एफ आई एल ई उसका बा जैसे नॉर्मल पॉइंटर आप डिक्लेयर कर रहे वैसे ही नर्मल पॉइंटर आप डिक्लेयर करेंगे य आप नाम कुछ भी दे सकते हैं एफपी यहां हमने ले लिया एग्जांपल में जिसका मतलब है फाइल पॉइंटर बट आपकी कोई स्पेसिफिक फाइल है तो आप उस हिसाब से नाम यहां पर रख सकते हैं ठीक है तो फाइल पॉइंटर हमको डिक्लेयर करना आ गया कैसे करेंगे फाइल और उसके बाद देंगे पॉइंटर और एफपी कर लेंगे तो एक बार हम अपना कोडिंग स्टूडियो भी खोल लेते हैं है ना और वहां जाके काम को हम करना अपने स्टार्ट करते हैं तो यहां आ जाते हैं डायनेमिक हमारा पूरा हो गया था अभी बनाएंगे नया फोल्डर और इसका नाम हम देंगे 13 फाइल इनपुट एंड आउटपुट इसके अंदर एक नई फाइल बनाते हैं इसका नाम रख लेते हैं फाइल डट सी ठीक है हमने नाम रख लिया फाड सी ये माफ कीजिएगा कैलक को कर देते हैं बंद फ्री को कर देते हैं बंद यहां क्या लिखेंगे शश इंक्लूड एड ए है ना उसके बाद क्या लिखेंगे इंट मेन हम पहले अपना एक फाइल पॉइंटर हम भी लिख लेते हैं तो मैं लिख रहा हूं फाइल पॉइंटर मेरा फाइल पॉइंटर का नाम मान लीजिए क्या है ए मैंने भी नाम एफ रख लिया या इसका नाम मैं क्या रख लेता हूं फाइल रख लेता हूं है ना या फाइल पॉइंटर पूरा रख लेते हैं ताकि आपको पढ़ने में आसानी और आपके नोट से थोड़ा सा अलग भी हो जाए तो हमने फाइल पॉइंटर यहां पर बना लिया है अभी तो सिर्फ फाइल पॉइंटर डिक्लेयर किया अभी इसका इस्तेमाल हमने कुछ करना स्टार्ट नहीं किया है ठीक है अब इसके बाद चलते हैं नेक्स्ट स्टेप पर यानी फाइल पॉइंटर अभी बना है सबसे पहले क्या करेंगे सबसे पहले देखेंगे कि फाइल को ओपन कैसे करना है अब देखिए क्रिएटिंग अ फाइल और ओपनिंग अ फाइल एक्चुअली सेम ऑपरेशन है अगर वहां पर फाइल एजिस्ट नहीं करती है तो ओपनिंग अ फाइल विल क्रिएट अ न्यू फाइल ठीक है तो कैसे करेंगे आपके पास फंक्शन है f ओपन एफ ओपन फंक्शन आपको यूज करना है ओपनस अ फाइल एंड रिटर्न्स अ फाइल पॉइंटर फॉर एक्सेस एफ ओपन फंक्शन जब आप कॉल करेंगे यानी फाइल ओपन फंक्शन जब आप कॉल करेंगे तो क्या करेगा एक फाइल को खोलेगा और उसका जो फाइल पॉइंटर है वो आपको लाकर दे देगा देखिए अभी हमने पॉइंटर डिक्लेयर किया है सिर्फ इसके अंदर वैल्यू नहीं डाली है जब हम नॉर्मल पॉइंटर डिक्लेयर करते थे उसके बाद किसी चीज का एड्रेस उस पॉइंटर के अंदर डालते थे यहां एड्रेस कैसे डालेंगे एफ ओपन से फाइल खोलेंगे और वो एड्रेस यहां पर डाल लेंगे अब एफ ओपन लेता है दो चीजें क्या-क्या अगर हम यहां पर एग्जांपल में देखेंगे पहला तो वो ले रहा है फाइल का नाम और दूसरा वो ले रहा है मोड कि किस मोड में फाइल को खोलना है ये मोड्स को हम धीरे-धीरे जब आगे जाएंगे तो और भी समझेंगे अभी ये बात समझिए कि r का मतलब होता है रीड मोड यानी मैं फाइल को सिर्फ रीड करने वाला हूं तो हमने यहां क्या को ओपन करने की कोशिश की है केज कोडिंग txt.gz यहां लिख देते हैं हम केजी कोडिंग हैज द बेस्ट कोर्सेस ये मैंने टेक्स्ट इसके अंदर लिख दिया और इसको कर दिया है सेव ठीक है इसको हमने सेव करके कर दिया बंद अब यहां पर हम क्या कर रहे हैं हमको खोलना है फाइल पॉइंटर के अंदर हमको डालना है फाइल पॉइंटर के अंदर नया फाइल इस फाइल को हमको ओपन करना है जो फाइल हमने अभी क्रिएट किया तो मैं बोलूंगा एफ ओपन फाइल ओपन नाम क्या है फाइल का केज कोडिंग txt.gz को रीड मोड में खोलना है फाइल देखिए जो हमने यहां पर लिखा था वही हमने यहां लिख लिया हमने कहा भाई केज king.xyz एजिस्ट ही नहीं करती है कोई भी काम कारण यहां पर हो सकता है तो उस केस में क्या होगा आपको पहले चेक करना पड़ेगा कि यह फाइल पॉइंटर आपको नल तो नहीं मिला तो हम क्या करेंगे पहले भी कर चुके हैं ये तो हम हम पहले चेक कर लेंगे फाइल पॉइंटर इक्वल टू इक्वल टू एय एल एल कि भाई फाइल पॉइंटर नल तो नहीं है अगर ये नल है तो हम क्या करेंगे यूजर को एक मैसेज दिखा देते हैं ताकि उसको पता रहे क्या फाइल कुड नॉट बी ओपेंड कि भाई फाइल आपकी नहीं खुल पाई किसी वजह से तो क्या करेगा फिर देखेगा फाइल नहीं है या क्या गड़बड़ है और क्या करेंगे रिटर्न वन कर देंगे रिटर्न वन का मतलब क्या है कि भाई हम किसी एरर के साथ जो है इस प्रोग्राम को खत्म कर रहे हैं ठीक है यहां बाहर आ जाते हैं और कर देते हैं रिटर्न रो अ हम यहां सेमीकलन लगाना भूल गए इसलिए एरर दे रहा है यहां सेमीकलन लगा दिया देखिए चीजें हो गई खत्म तो आपको ये समझ आ गया क्या अगर हमको फाइल खोलना है तो दो काम करने हैं आप पहले फाइल ओपन के लिए एफ ओपन देंगे फाइल का नाम देंगे फाइल का रीडिंग बेसिकली मोड देंगे रीड राइट व्हाट एवर और उसके बाद आपको एक ये चेक करना जरूरी है कि भाई नल तो नहीं मिला है तो ये क्या बोल रहा है एरर चेकिंग ऑलवेज चेक फॉर नल टू कंफर्म फाइल वाज ओपें सक्सेसफुली पाथ क्या है पाथ आप रिलेटिव पाथ भी दे सकते हैं एब्सलूट पाथ भी दे सकते हैं रिलेटिव और एब्सलूट का क्या मतलब है देखिए एक पाथ होता है जो पूरे सिस्टम में आप देते हैं स्लैश स्लैश स्लैश स्लैश लगाकर तो वो क्या होगा वो आप स्टार्टिंग से कहीं पर भी दे सकते हैं अभी मैं जब बोल रहा हूं केज कोडिंग . t तो इसको कहां ढूंढेगा पूरे सिस्टम में नहीं ढूंढेगा जहां ये प्रोग्राम रन होगा इमीडिएट उसी फोल्डर में ढूंढेगा इसको बोलते हैं रिलेटिव पाथ तो हमने क्या दिया है हमने दिया है रिलेटिव पाथ एक बार अब पहले इसको हम चला कर देखते हैं है ना तो इसको हम करते हैं टर्मिनल इसको करते हैं क्लीन माफ कीजिएगा इसको करते हैं क्लीन जाएंगे अपने फोल्डर नंबर माफ कीजिएगा हमको जाना है फोल्डर नंबर 13 में च इज फाइल ऑपरेशन तो जाते हैं फोल्डर नंबर 13 के अंदर यहां पड़ी है हमारी फाइल डट सी इसको करेंगे कंपाइल जीसीसी फाड सी माइन फाइल डॉट आउट कंपाइल होगी कोई भी दिक्कत यहां पर नहीं हुई है है ना इसको क्लीन करते हैं चलाकर देखते हैं तो मैं करूंगा डॉट स्ल फाइल डॉट आउट देखिए प्रोग्राम रन हो गया नेक्स्ट लाइन पर आ गया कुछ नहीं हुआ देखिए हमने सिर्फ फाइल को खोला है और कुछ नहीं किया बट अगर यह मेरी फाइल ठीक से नहीं खुली होती तो क्या होता यहां पर ये एरर आ जाती ये बोलता फाइल नहीं खुल पाई एक काम करके देखते हैं अगर मैं क्या करूं इसको को डिन कर दूं है ना फिर से एक बार कंपाइल करके देखते हैं यानी नाम मैंने क्या कर दिया है गलती से गड़बड़ कर दिया है फिर से मैंने चलाया इस बार देखिए मेरे पास एरर आ गई फाइल कुड नॉट बी ओपन इसका मतलब ये कह रहा है भाई मेरे को केजी कोडिन ड t एकटी फाइल नहीं मिली तो हमको इससे ये भी समझ आ रहा है कि जो हमने लिखा है उतना फाइल इसको मिल गई उतना कोड ठीक से चला है ठीक है तो हमने फाइल ओपन करना दोस्तों यहां पर सीख लिया है नेक्स्ट स्टेप क्या है अगर फाइल ओपन करना आपको आ गया है नेक्स्ट स्टेप है कि फाइल को क्लोज कैसे करना है सबसे पहले ये समझना है ओपन करने के बाद क्लोज करना सबसे जरूरी है है ना तो क्लोज कैसे करना है देखिए सबसे नीचे देखिए हमको क्या करना है बस लिखना है एफ क्लोज तो हमने यहां देखा था ओपन कैसे करना है एफ ओपन एफ क्लोज में आप क्या कर करेंगे फाइल पॉइंटर दे देंगे तो एफ क्लोज फंक्शन यूज टू क्लोज एन ओपन फाइल पॉइंटेड बाय फाइल पॉइंटर तो जो भी फाइल है उसमें आप एफ क्लोज बेसिकली एफ क्लोज में आप उसका पॉइंटर देंगे तो वो हो जाएगी क्लोज तो हमको यहां सबसे पहले क्या करना है फाइल ओपन करी है तो सबसे पहले फाइल क्लोज भी आप कर दीजिए उसके बाद बीच में जो आपको करना है करते रहना क्योंकि वरना यह भी क्या होता है रिसोर्सेस जो है लीक हो जाती हैं और क्या करती हैं आपके सिस्टम को धीरे-धीरे स्लो करने लगती हैं आपके प्रोग्राम को धीरे-धीरे मारने लगती हैं तो जो भी रिसोर्स इस्तेमाल किया है वो मेमोरी है तो मेमोरी को फ्री करना है फाइल खुला है तो फाइल को क्लोज करना है ये बात आपको याद रखनी है है ना तो ये क्या करता है दिस रिलीजस रिसोर्सेस या यानी फ्रीज अप द सिस्टम रिसोर्सेस एसोसिएटेड विद द फाइल थर्ड क्या है फ्लैश बफर अगर मान लीजिए हम कुछ यहां पर राइट करने की कोशिश कर रहे थे तो राइट कई बार क्या होता है सिस्टम पूरा राइट नहीं करता आपने बोला राइट कर लीजिए वो बोलेगा ठीक है हम कर लेंगे क्योंकि स्टोरेज क्या होती है स्टोरेज होती है काफी स्लो कंप्यूटर के मुकाबले 1000 गुना स्लो होती है आपकी फाइनल स्टोरेज तो कंप्यूटर क्या करता है धीरे-धीरे लिखता रहेगा आपको बोलेगा हां ठीक है राइट हो गई वो उसको बोलते हैं जो छोटा सा एरिया होता है बफर कि हां हमने बफर में रख ली है आपका काम हो गया समझिए बट जब आप बोलेंगे कि भाई फाइल मैं क्लोज कर रहा हूं तो उसको समझ आएगा कि भाई बफर में नहीं रख सकते इसका काम तुरंत ही फिनिश करना होगा क्योंकि ये फाइल कर रहा है बंद तो एफ जो जब आप एफ बेसिकली एफ क्लोज कॉल करते हैं तो जो भी उसके बफर में भी अगर कुछ डाटा पड़ा हुआ है वो उसको भी सीधा क्या करता है फाइल के अंदर राइट कर देता है तो एफ क्लोज से उसको समझ आता है कि अर्जेंसी है काम इनका तुरंत खत्म करो उसके बाद फाइल को बंद करो इस बीच मान लीजिए आपने ये सोच लिया कि हां मेरा डाटा तो राइट हो गया है और लाइट भाग जाती है सिस्टम बंद हो जाता है आपका प्रोग्राम किल हो जाता है तो हो सकता है फाइल में आपका डाटा मिले ही ना तो इसलिए क्लोज करना प्रॉपर्ली फाइल को बहुत ज्यादा जरूरी है उसके बाद क्या है नलीफ आई पॉइंटर क्या बोल रहा है ये जब आपने बंद कर दिया है तो पॉइंटर को नल कर दीजिए सेम जो हमने फ्री के टाइम पर किया था वही हमको यहां करना है क्या जैसे ही मैंने ये कर दिया तो मैं क्या करूंगा फाइल पॉइंटर को मैं सेट कर दूंगा नल ताकि अब इस फाइल पॉइंटर को ये फाइल पॉइंटर अभी भी किसी फाइल ऑब्जेक्ट को पॉइंट ना करे क्योंकि मैंने फाइल को क्लोज कर दिया है मैं इसको सेट कर दूंगा नल ठीक है ये हम यहां आपके नोट्स में नहीं किया है हमने बट आप वहां पर कर सकते हैं लास्ट क्या है एरर हैंडलिंग आपको आईडियली क्या करना चाहिए इसका भी रिटर्न वैल्यू टेस्ट करना चाहिए जीरो का मतलब है सक्सेसफुल और ऑफ का मतलब है एरर यानी आप यहां पर भी जब आपने एफ क्लोज किया है यहां क्या करिए इंट रिजल्ट और उसको भी आप चेक कर सकते हैं क्या मैं पहले चेक कर लेता हूं इफ रिजल्ट इज इक्वल टू इक्वल टू 0 जीरो का क्या मतलब है जीरो का मतलब है सक्सेसफुल यानी फाइल क्लोज मेरा सक्सेसफुल हुआ है तो कोई दिक्कत नहीं है एल्स मैं क्या लिख सकता हूं एल्स फिर से एक बार एरर दे देते हैं य यूजर को बता देते हैं और एरर दे देते हैं क्या फाइल वाज नॉट क्लोज्ड प्रॉपर्ली है ना कि फाइल को हम प्रॉपर्ली क्लोज भाई साहब नहीं कर पाए हैं इस बात का आप ध्यान रखिए बैक स्ल लिख देते हैं बाद में हमारा सारा डाटा एक लाइन में आने लगता है तो देखिए इतना कोड तो सिर्फ फाइल ओपन और फाइल क्लोज का ही हो गया है है ना धीरे-धीरे लोग क्या करते हैं इन सबको अलग-अलग सेपरेट फंक्शंस में मूव करने लगते हैं कि भाई मैंने अपना एक फंक्शन बना लिया है जो फाइल को ओपन करेगा मेरे को दे देगा मैंने अपना एक फंक्शन बना लिया है जो क्लोज करेगा और मेरे लिए जो नेसेसरी काम है इनको वो कर देगा ठीक है तो f फाइल ओपन हमको समझ आ गया फाइल क्लोज हमको समझ आ गया पर यार ओपन और क्लोज कब तक करते रहेंगे कुछ ढंग का काम तो करें फाइल ओपन किया है तो कुछ करें तो तो हम आ जाते हैं अपने नेक्स्ट पर यानी रीडिंग डाटा फ्रॉम अ फाइल फाइल ओपन तो आपने कर ली उसमें से फाइल डाटा आप रीड कैसे करेंगे तो देखिए इसका क्या तरीका है जो एफ गेट्स फंक्शन हमने यूज किया था बेसिकली कंसोल से डाटा लेने के लिए बाकी सब कुछ सेम रहेगा यहां आप देंगे अपना एरे यहां आप देंगे साइज यहां आप अब स्टैंडर्ड इन की जगह क्या देंगे अपना फाइल पॉइंटर दे देंगे तो ये रीड करके आपको दे देगा देखिए समझ क्या आ रहा वहां पर भी फाइल का ही मेथड एक्चुअली यूज़ कर रहे थे ए गेट्स का क्या मतलब है गेट फ्रॉम फाइल बट क्योंकि स्टैंडर्ड इन भी अपने आप में एक फाइल है यानी जो आपका टर्मिनल रन होता है उसको भी एक फाइल की तरह ट्रीट किया जाता है ये फंक्शन हम वहां भी यूज कर पाए थे और अब हम यहां भी इसको यूज करेंगे तो कैसे करेंगे देखिए सबसे पहले अगर हमको डेटा रीड करना है तो हमको ये देखना पड़ेगा कि वो डटा रीड करना कहां पर है तो उसके लिए जनरली क्या किया जाता है एक कैरेक्टर एरे हम यहां पर बना लेंगे और उसका नाम हम कुछ भी दे सकते हैं मान लीजिए मैं दे देता हूं इसका नाम टेक्स्ट कि भाई एक कैरेक्टर एरे बना लीजिए टेस्ट जो मान लीजिए क्या हो 1000 बाइट्स की हो हालांकि मेरे को पता है 1000 बाइट्स वहां पर नहीं है मान लीजिए मेरी फाइल तो छोटी सी है 100 बाइट्स की एक टेक्स्ट एरे मैंने बना ली अब जब फाइल मेरी ओपन हो चुकी है जब मैं यहां पर आया हूं तो फाइल मेरी ओपन हो चुकी है अब मैं कर सकता हूं रीड तो मैं क्या बोलूंगा एफ बेसिकली यहां पर हमने क्या फंक्शन देखा है हमने फंक्शन देखा है एफ गेट्स तो मैं क्या बोलूंगा फाइल से जरा गेट करिए क्या-क्या गेट करना है सबसे पहले हमको क्या देना है तीन आर्गुमेंट देने हैं सबसे पहले हमको देना है बेसिकली पॉइंटर जो भी हमारे एरे को पॉइंट करता है दूसरा हमको देना है साइज यानी मैक्सिमम साइज तो यहां मैक्सिमम साइज क्या दे सकते हैं हमको तो पता है कि 100 ही है साइज तो यहां साइज हमने दे दिया 100 और लास्ट क्या है कहां से पढ़ना है तो हम यहां दे देंगे अपना फाइल पॉइंटर कि भाई इस फाइल पॉइंटर से डाटा पढ़ के आप इस टेक्स्ट में डाल दीजिए जो 100 तक जाता है और इसके बाद हम क्या करेंगे इसको प्रिंट करके देख लेते हैं तो मैं बोलता हूं प्रिंट f परसेंटाइल s यहां पर एक बै स् n दे देते हैं परसेंटाइल s और कौन सा टेक्स्ट है कहां पर आ गया है अब वो सारा डाटा आ गया है टेक्स्ट के अंदर और फाइल क्या है केज एक बार इसको चला कर देखते हैं इसको कर देते हैं क्लीन वापस इसको कंपाइल करते हैं और फिर से इसको करते हैं प्रिंट देखिए क्या प्रिंट हो गया यहां पर केजी कोडिंग हैज द बेस्ट कोर्सेस जो एक्चुअली कहां पर लिखा हुआ था हमने फाइल के अंदर यहां पर लिखा था मान लीजिए इसको हम क्या करते हैं एक लाइन और यहां पर लगा देते हैं क्या प्लीज सब सब्सक्राइब द चैनल एक लाइन हमने यहां पर और लिख दी इसको कर दिया सेव देखिए बिना प्रोग्राम को चेंज किए मैं प्रोग्राम को दोबारा कंपाइल रन नहीं कर रहा हूं प्रोग्राम को मैं सीधे रन कर लूंगा अच्छा अभी भी शायद वो फाइल सेव नहीं हुई है एक बार इसको दोबारा से चेक कर लेते हैं माफ कीजिएगा मैंने शायद वो नेक्स्ट लाइन में लिख दिया है इसलिए वो उसको ठीक से नहीं पढ़ रहा है क्योंकि क्या करेगा वो हमने फाइल ओपन दिया है तो क्या करेगा एक-एक करके सेंटेंसेस को पढ़ रहा होगा इसको कर देते हैं सेव फिर से आते हैं फाइल में फिर से इसको रन करते हैं फाइल आउट देखिए क्या हुआ पूरा का पूरा प्रिंट हो गया केजी कोडिंग हैज बेस्ट कोर्सेस प्लीज सब्सक्राइब द चैनल तो अगर आप यहां तक कोर्स में पहुंचे हैं तो एक बार सब्सक्रिप्शन का बटन जरूर दबा दीजिएगा आगे भी हम बहुत सारे इस तरह के कोर्सेस लेकर आने वाले हैं है ना तो ये हो गया दोस्तों कि हमको फाइल रीड किस तरह से करनी है है ना एफ गेट से हम कैसे फाइल रीड करेंगे क्या-क्या फंक्शंस हैं f गेट सी गेट सी का क्या मतलब है एक कैरेक्टर आपको रीड करना है ये भी हम हम आगे चलाकर देखेंगे गेट एस यानी पूरी की पूरी स्ट्रिंग रीड करनी है रीड और स्कैन भी फंक्शंस होते हैं अभी हम उतनी डिटेल में यहां पर और ज्यादा नहीं जाने वाले हैं टाइम हमारे पास बहुत कम बचा है तो आप चाहे तो इनका भी यूसेज देख सकते हैं मोड्स क्या हैं रीड मोड हमने देख लिया है एक r प्लस मोड भी होता है जिसको बोलते हैं रीड एंड अपडेट मोड मोड वैसे अपडेट जितने भी मोड्स हैं इनको हम बाद में एक बार विजिट करने वाले हैं बफर मैनेजमेंट क्या है इंश्योर बफर्स आर प्रॉपर्ली साइज ये जो बफर की बात हम कर रहे हैं यानी जिसमें आप डाटा पढ़कर डालने वाले हैं उसका साइज आप बराबर रखिए क्योंकि ऐसा ना हो कि उसमें साइज हो ही ना पाए स्पेशली विद एफ गेट्स एंड एफ फ्रीड है ना और लास्ट क्या है बाइनरी वर्सेस टेक्स्ट चूज रीड फंक्शंस बेस्ड ऑन वेदर द फाइल इज़ बाइनरी और टेक्स्ट तो आपको इसमें से देखना है कि आपको स्ट्रिंग या कैरेक्टर रीड करना है किसके लिए आपको अपनी टेक्स्ट फाइल के लिए और रीड वगैरह आप कहां काई के लिए यूज़ करते हैं जनरली बाइनरी फाइल के लिए यूज़ करते हैं तो अगर आपको बाइनरी डाटा चाहिए तो आप एफ रीड वहां पर इस्तेमाल कर सकते हैं अब यह हुआ रीडिंग फ्रॉम डाटा अगर रीड कर लिया है तो अगला काम क्या करेंगे एक ये चेक करेंगे एक बीच में हम चीज चेक करेंगे क्या एंड ऑफ फाइल का क्या मतलब है देखिए अभी हमने पूरा का पूरा गेट एस यूज़ किया था इस बार हम यूज़ करेंगे गेट सी इसका क्या मतलब है देखिए जब भी पूरी फाइल खत्म हो जाती है जैसे हम स्ट्रिंग जब भी एंड होती है स्ट्रिंग के एंड में क्या होता है हमेशा बै स् 0 लगा होता है इसी तरह से जब फाइल खत्म होती है तो एक ईओएफ करके कैरेक्टर होता है जो हर फाइल के एंड में आपको मिलेगा ये किसलिए मिलेगा इससे पता चलता है कि भाई फाइल खत्म हो गई है इससे ज्यादा आप इसको नहीं पढ़ सकते हैं आपका फाइल खत्म हो चुका है तो ईओएफ किस लिए यूज़ होता है इट इज एन इंडिकेटर कांस्टेंट टू इंडिकेट दैट एंड ऑफ़ फाइल एंड एरर या कि या यानी कि एंड ऑफ़ फाइल आप पहुंच चुके हैं वैल्यू क्या है जनरली -1 की तरह इसको डिफाइन किया जाता है स्ट्रीम्स में यानी गेट सी जब आप एफ गेट सी कर रहे हैं तो आप उसको बेसिकली चेक कर सकते हैं बार-बार एरर सिग्नल यानी इससे यह भी पता चल सकता है अगर बीच में कोई ऑपरेशन फेल हो जाता है फाइल बंद हो जाती है कुछ गड़बड़ हो जाती है तो भी आपको एंड ऑफ फाइल बीच में ही मिल सकता है बेसिकली एंड ऑफ फाइल का ये मतलब है कि अब आप और डाटा फाइल से रीड नहीं कर सकते या तो फाइल खत्म हो गई है या और कोई एरर आ चुकी है और ये लूप कंट्रोल में आप यूज कर सकते हैं जब आप लूप लगाकर फाइल को पढ़ रहे हैं लगातार पढ़ रहे हैं तो उसके लिए आप इसको इस्तेमाल कर सकते हैं कैसे देखिए यहां हम क्या करेंगे फाइल पॉइंटर है मेरा हमने यहां पर फाइल खोल ली है एक हमने कैरेक्टर यहां पर डिफाइन किया उसके बाद हम क्या कर रहे हैं कैरेक्टर इ इक्वल टू f गेट c यानी हमने गेट सी किया पहले उसके बाद हम निकाल रहे हैं फाइल पॉइंटर को यहां पर हम क्या कर सकते हैं एक बार इसको अच्छे से इंप्लीमेंट करके देखते हैं अपने आप ये तो हम ऑलरेडी कर चुके हैं ये दो लाइन हम कर देते हैं कमेंट यानी पूरी फाइल को कैसे रीड करना है बेसिकली पर लाइन को कैसे रीड करना है ये हमने यहां देख लिया अब हम देखते हैं पूरी फाइल को कैसे रीड कर सकते हैं है ना तो पूरी फाइल को कैसे रीड करेंगे यहां हम आते हैं मान लीजिए हमने इंट एक कैरेक्टर यहां पर डिफाइन कर लिया अब यहां हम यूज़ करते हैं डू वाइल लूप जो हम पढ़कर आए थे तो देखिए हमको एक कैरेक्टर तो हमेशा फाइल से रीड करना ही है उसके बाद देखना है कि कैरेक्टर आगे रीड करना है या नहीं तो सबसे पहले लगा लीजिए डू वाइल है ना और ये कब तक हम पढ़ते रहेंगे अच्छा हमने इसका नाम कैरेक्टर दे दिया है मान लीजिए मैं दे देता हूं इसका नाम इंट c है ना तो हम क्या बोल रहे हैं जब तक c किसके बराबर ना हो जाए जब तक c एंड ऑफ फाइल के बराबर ना हो जाए तब तक आप क्या करिए तब तक आप ये लूप चलाते रहिए और c का अभी बेसिकली इनिशियल वैल्यू क्या है मान लीजिए इनिशियल वैल्यू मैं दे देता हूं एक्चुअली यहां इनिशियल वैल्यू देने की जरूरत नहीं है क्योंकि हम डू वाइल चला रहे हैं तो वैल्यू अभी यहां पर आ जाएगी वैल्यू कैसे आएगी मैं बोलूंगा c = f गेट c पहले गेट s किया था इस बार देंगे f गेट स और f गेट c को क्या-क्या चाहिए f गेट c को चाहिए सिर्फ सिर्फ फाइल पॉइंटर क्योंकि उसको साइज नहीं चाहिए कुछ नहीं चाहिए इस फाइल से सिर्फ एक कैरेक्टर पढ़ के लाकर हमको दे दो तो हमने यहां क्या किया f गट सी में दे दिया फाइल पॉइंटर ये क्या करेगा इस कैरेक्टर को पढ़कर ले आएगा और अगर ये कैरेक्टर को पढ़कर ले आया तो हम इसको प्रिंट कर सकते हैं तो मान लीजिए मैं इसको कर देता हूं सीधे प्रिंट मैं बोलता हूं प्रिंट f कोई स्पेस नहीं कुछ नहीं सीधे हम चीजों को प्रिंट करेंगे परसेंटाइल सी और ये जो मेरा सी कैरेक्टर है इसको हम कर देंगे प्रिंट तो देखिए मैंने छोटा सा कोड लिखा क्या एक इंटी जर या कैरेक्टर हमने यहां पर डिफाइन किया है f गेट c हमको देगा एक्चुअली इसको चार भी शायद हम डिफाइन कर सकते हैं तो हम देते हैं कैरेक्टर एफ गेट सी फाइल से एक पॉइंटर को पढ़ एक बेसिकली कैरेक्टर को पढ़ कर लाइए वो पढ़ कर लाएगा उसको हम प्रिंट करेंगे और जब तक वो एंड ऑफ फाइल नहीं है तब तक हम ये बार-बार बार-बार करते रहेंगे तो आईडियली क्या होना चाहिए पूरी की पूरी फाइल प्रिंट होकर आ जानी चाहिए इसको हम करते हैं के इसको हम करते हैं दोबारा जीसीसी कोई एरर नहीं आया है चलाकर देखते हैं देखिए अभी भी क्या हुआ है पूरी की पूरी फाइल प्रिंट हो गई है एक् और यहां पर देखिए एंड ऑफ फाइल भी यहां पर क्वेश्चन मार्क करके प्रिंट हो गया क्यों क्योंकि एंड ऑफ फाइल भी हमने प्रिंट करने के बाद यहां पर चेक किया है तो क्या हुआ है एंड ऑफ फाइल के लिए भी ये चीज जो है वो चल गई है पर पूरी की पूरी फाइल किस तरह से यहां पर पढ़नी है यह हमने यहां पर देख लिया अगर अब मैं यहां पर इसको दूसरी लाइन में भी मूव कर दूं तो भी चीजें चल जानी चाहिए क्योंकि हम लाइन बाय लाइन पढ़ नहीं रहे हैं हम तो क्या कर रहे हैं पूरी की पूरी फाइल को एक साथ पढ़ रहे हैं तो देखिए इस बार पूरी की पूरी फाइल आ रही है तो अगर फाइल में एंटर था तो यहां भी एंटर आ गया पूरी की पूरी फाइल हमने यहां पर पढ़ ली है दोस्तों तो एंड ऑफ फाइल का आपको मतलब समझ आया कैसे एंड ऑफ फाइल चेक करके हम जा सकते हैं फाइल के एंड तक आ जाते हैं हम ऑलमोस्ट लास्ट टॉपिक्स पर यानी अब हम देखेंगे राइट और अपेंड कैसे करना है तो राइट का क्या मतलब है राइट के लिए आप क्या यूज़ करेंगे राइट के लिए आप फंक्शन सिमिलर फंक्शंस यूज़ करेंगे जैसे हम गेट सी यूज़ कर रहे थे और गेट एस यूज़ कर रहे थे इसी तरह यूज़ करेंगे पुट सी और पुट ए यानी ये क्या फंक्शन काम करेंगे राइट करने का काम करेंगे दूसरा बात आपको क्या ध्यान रखना है फाइल ओपन करते हुए आपको इस बार डब्लू मोड में फाइल को खोलना होगा डब्लू मतलब राइट मोड में खोलना होगा तो मोड क्या होंगे या तो राइट या अपेंड अपेंड अभी हम देखेंगे इसके बाद अपेंड का क्या मतलब है पहले एक बार इसको राइट करके हम देखते हैं तो एक नया फाइल बना लेते यहां पर इसका कॉपी कर लेते हैं और इसको हम कर देते हैं रिनेम राइट है ना तो राइट में अब हम क्या करेंगे रीड को फाइल को बंद करते हैं केजी कोडिंग को बंद करते हैं पहला तो हमको चेंज क्या करना है r की जगह करना है डब् यानी राइट मोड में फाइल को हमको खोलना है है ना ये टेक्स्ट जो हमने किया था ये हटा देते हैं और इतना जो रीड वाला जो हमारा कोड है इसको भी हम हटा देते हैं देखिए फाइल को ओपन करना और क्लोज करने का जो कोड है वो यहां पर सेम रहने वाला है हमको बस क्या करना है हमको देखना है कि राइट कैसे हमको यहां पर करना है तो राइट कैसे करेंगे देखिए वापस आ जाइए ये वाला जो पोर्शन है ये हमारा राइट का पोर्शन है तो एफ प्रिंट एफ आप किस तरह से यूज़ करते हैं एफ प्रिंट एफ हम यहां पर यूज़ कर सकते हैं एफ प्रिंट एफ क्या करता है आप दीजिए उसको फाइल पॉइंटर और दीजिए स्ट्रिंग और ये सीधा उसको राइट कर देगा फॉर्मेट भी करता है तो हम ये भी लिख पा रहे हैं स्क्वायर ऑफ़ परसेंटाइल डी एंड परसेंटाइल डी इज परसेंटाइल डी यानी सॉरी स्क्वायर ऑफ़ परसेंटाइल डी इज परसेंटाइल डी हम नंबर दे रहे हैं उनको भी रिप्लेस करके सीधा फाइल के अंदर डाल रहा है तो चलिए यहां पर एक बार कोशिश करते हैं केजी कोडिंग डॉट टेक्स्ट खोलने के बजाय हम यहां नया खोल देते हैं क्या राइटिंग डॉ टेक्स्ट कि एक नया फाइल बना दीजिए राइटिंग डटे के नाम से और उसके अंदर आपको क्या राइट करना है हमने यूज कर लिया कौन सा फंक्शन f प्रिंट f f प्रिंट एफ का हम इस्तेमाल कर रहे हैं कौन सी फाइल के लिए फाइल पॉइंटर के लिए और हम यहां क्या लिख रहे हैं दिस इज माय फर्स्ट राइट ऑपरेशन यह हमने बैक स्लन करके डाल दिया नेक्स्ट लाइन के कैरेक्टर के साथ तो क्या होगा यह आईडियली राइट हो जाना चाहिए एक बार चलिए ट्राई करते हैं इसको हम लिखेंगे जीसीसी राइड स - o राइ डॉट आउट कोई एरर नहीं आया एकदम से चल गया मैं बोलता हूं डॉट स्लश अभी देखिए जो हमारा साइड में फाइल है यहां पर फाइल है फाइल आउट है राइट है राइट आउट है और केजी कोडिंग ड टेक्स्ट है जो फाइल हम बोल रहे हैं राइटिंग डॉट टेक्स्ट वो अभी एजिस्ट ही नहीं करती है अब मैं यहां चलाता हूं राइट डॉट आउट मैंने जैसे ही यह चलाया तो देखिए क्या हुआ है लेफ्ट में एक फाइल बनकर आ गई राइटिंग डॉट टेक्स्ट यानी हमने देख लिया नया फाइल कैसे क्रिएट करना है राइटिंग डॉट टेक्स्ट में गए तो देखिए यहां जो टेक्स्ट हमने लिखा था वो आ गया दिस इज माय फर्स्ट राइट ऑपरेशन और नेक्स्ट लाइन में कैरेक्टर में आ गए हैं राइट में और क्या कर सकते हैं जो हमने बेसिकली वहां पर दिखाया क्या फॉर्मेट करके यानी हम यहां लिख सकते हैं मान लीजिए स्क्वायर ऑफ नंबर इज नंबर नंबर मतलब परसेंटाइल उसके बाद आप दीजिए थर्ड एंड फोर्थ आर्गुमेंट थर्ड आर्गुमेंट मेरा क्या है मान लीजिए तीन का स्क्वायर हमको दिखाना है ना है ना मैं बोल रहा हूं भाई आप जरा ये भी फाइल में राइट कर दीजिए फिर से एक बार क्या करते हैं इसको करते हैं कंपाइल यह हो गया कंपाइल और ये हो गया रन फिर से जाकर दे देखते हैं राइटिंग ॉट टेक्स्ट में देखिए क्या हुआ यहां सेकंड लाइन भी आ गई बट आपने देखा होगा राइटिंग ने क्या किया है पहले जो भी लिखा हो अब मान लीजिए मैं यहां राइटिंग में फिलहाल क्या लिख देता हूं दिस इज माय राइटिंग ठीक है ये हमने लिख दिया वापस आते हैं फिर से ये कोड चलाते हैं देखिए क्या हुआ हम हमने जो भी लिखा था वो सब क्या हो गया है ओवरराइट हो गया है यानी ये क्या करेगा फाइल को खोलेगा और जो भी कंटेंट है उसको सबको डंप कर देगा और स्टार्टिंग से काम करना शुरू कर देगा तो फाइल जब आप राइट मोड में खोलते हैं राइट मोड का क्या मतलब है यानी पहले का जो कंटेंट है उसको कर दीजिए डिस्कार्ड और सिर्फ मेरे वाला कंटेंट ही यहां पर बचेगा एफ फ्लश भी आप यूज़ कर सकते हैं किसके लिए क्लोज करने से पहले अगर आपने क्लोज नहीं किया है तो आप ए फ्लश यूज़ कर सकते हैं बफर को फ्लश करने के लिए वना अगर आप क्लोज भी कर रहे हैं तो ल ऑटोमेटिक फ्लश करने वाला है टेक्स्ट और बाइनरी का क्या फर्क है आपको वही राइट के फंक्शन जो है वो इस हिसाब से चूज करने हैं कि आप टेक्स्ट राइट कर रहे हैं या बाइनरी राइट कर रहे हैं अगर आप चाहते हैं कि आपकी फाइल का जो कंटेंट है वो खत्म ना हो तो उसके लिए क्या करेंगे उसके लिए करेंगे अपेंड तो ओनली चेंज जो आपको करना पड़ेगा वो है ओपन करते हुए आप राइट करने के बजाय क्या करें ड करने के बजाय a लिख दें अगर आपने ए लिख दिया देखिए अब ये मेरी फाइल में पहले से लिखा हुआ है मैंने कर दिया भाई अपेंड मोड अपेंड मतलब फाइल में जो कंटेंट है वो पढ़ा रहने दीजिए उसके बाद मेरे वाला कंटेंट भी लिख दीजिए तो मैंने इसको कर दिया ए इसको फिर से करते हैं कंपाइल फिर से करते हैं रन अब देखिए क्या हुआ जैसे ही मैंने अपें दबाया तो अगली अगली बार वाला जो टेक्स्ट है वो इसके बाद ऐड हो गया यानी ये आया था पहले ये आ गया इसके बाद तो ये पुराने वाले कंटेंट को खत्म नहीं कर रहा है अब क्या कर रहा है ऐड करते जा रहा है ठीक बात है अपें में इतना ही है इससे ज्यादा पेंड में कुछ नहीं है लास्ट पॉइंट आ गया दोस्तों हमारा हमने फाइल ऑपरेशंस तो सारे खत्म कर लिए हैं लास्ट पॉइंट आ गया है क्या बस यह देखना कि कौन-कौन से बेसिकली फाइल मोड्स होते हैं r हमने चलाकर देखा रीड मोड है डल हमने चलाकर देखा राइटिंग मोड है ए हमने चलाकर देखा अप एंड मोड है बाकी क्या है r प्लस का क्या मतलब है r प्लस का मतलब है ओपन फॉर बोथ रीडिंग एंड राइटिंग इफ फाइल डज नॉट एजिस्ट एफ ओपन रिटर्न्स नल यानी ये बोल रहा है आपको रीडिंग और राइटिंग दोनों के लिए खोलना है बट अगर फाइल एजिस्ट नहीं नहीं करती है तो वो नल रिटर्न करेगा फाइल को नहीं खोलेगा अगर आपने ड प्लस किया देखिए यहां पर भी क्या था जब हमने रीड मोड में खोला था फाइल एजिस्ट नहीं कर रही थी तो उसने एरर दे दिया सॉरी आ मोड में खोल था तो फाइल एजिस्ट नहीं कर रही तो एरर दे दिया बट डब्लू मोड में एरर नहीं देगा क्योंकि उसको राइट करना है तो फाइल एजिस्ट नहीं करती तो वो नई फाइल बना देगा पर r+ में क्या करेगा आप रीडिंग राइटिंग कर रहे हैं बट आप ये मानक ये मान करर चल रहे हैं कि फाइल एजिस्ट करती है w प् क्या करेगा ये भी रीडिंग राइटिंग है बट इफ द फाइल एजिस्ट इट्स कंटेंट्स आर ओवर रिटन एजिस्ट करती भी है तो भी कंटेंट ओवरराइटिंग हो जाएगी अगर नहीं एजिस्ट करती है तो फाइल क्रिएट हो जाएगी और a प् का क्या मतलब है रीडिंग राइटिंग के लिए खुलेगी बट अगर फाइल एजिस्ट नहीं करती तो वो क्रिएट कर दी जाएगी अगर फाइल एजिस्ट करती ही नहीं है तो क्रिएट की जाएगी एजिस्ट करती है तो उसमें कंटेंट ऐड किया जाएगा तो ये फाइल मोड्स आपको समझ आ गए हैं इन मोड्स में आप फाइल को ओपन कर सकते हैं तो दोस्तों ये हुआ हमारा फाइल इनपुट आउटपुट हमने कितनी सारी चीजें देखी डाटा किस तरह से ऑर्गेनाइज होता है अलग-अलग तरह की मेमोरीज किस तरह की होती हैं हमारी फाइल के ऑपरेशंस हमने छह ऑपरेशंस देखे टेक्स्ट बाइनरी फाइल का क्या डिफरेंस है फाइल पॉइंटर ओपन करना क्लोज क्ज करना रीड करना एंड ऑफ फाइल तक रीड करना यानी पूरी की पूरी फाइल रीड करना डाटा राइट करना डटा अपेंड करना और फाइनली सारे के सारे मोड्स हमारे क्या होते हैं दोस्तों इस कोर्स को बनाने में बहुत मेहनत लगी है यहां तक हम रिवीजन तक पहुंच गए हैं ये वाला चैप्टर भी आपने मैं उम्मीद कर रहा हूं फाइल के ऑपरेशंस आपने समझ लिए होंगे एंड में पहुंचने से पहले एक बार इसके भी थोड़े से प्रैक्टिस एक्सरसाइजस हम कर लेते हैं तो प्रैक्टिस एक्सरसाइजस में क्या आएगा इसकी देखिए चैलेंजेबल जस यहां पर हमारे पास हैं है ना तो आपको क्या करना है ये छह चैलेंज को ट्राई करना है अगेन अगर नहीं होता है तो घबराना नहीं है क्या होगा इसका जो फाइनल बेसिकली रिजल्ट है वो आपको मिलेगा वीडियो सॉल्यूशन में तो अगर आपको ये समझ नहीं आ रहा है या बेसिकली करने में कुछ दिक्कत होती है तो आप वीडियो सॉल्यूशन में जा सकते हैं बट एक बार इसको ट्राई जरूर करना है क्या है राइट अ प्रोग्राम दैट आस्क फॉर यूजर से पहले एक फाइल नेम लीजिए उसको ओपन करने की कोशिश कीजिए और बताइए कि ओपन ठीक से हुई है या नहीं हुई है ठीक है फिर रीड बेसिकली इंटी जर को रीड करिए फ्रॉम अ फाइल एंड कैलकुलेट देयर सम यानी बहुत सारे इंटी जर्स फाइल में पड़े हुए हैं फाइल से रीड करते रहिए और उसके बाद उनका सम जो है आपको प्रिंट कराना है फिर क्या है राइट अ प्रोग्राम दैट कॉपीज वन फाइल्स टेक्स्ट कंटेंट टू अनदर यानी ये क्या है एक फाइल के टेक्स्ट का कंटेंट दूसरी फाइल में पूरा का पूरा राइट कर दीजिए जब ईओएफ पहुंच जाए तो रुक जाइए फिर राइट अ प्रोग्राम दैट टेक्स यूजर इनपुट यूजर इनपुट लीजिए और उसको फाइल में राइट कर दीजिए इंश्योर कि यूजर इनपुट जो भी है एक-एक चीज एक-एक लाइन में जा रही है तो दो-तीन लाइन यूजर से इनपुट कराइए दो-तीन लाइन वो फाइल में भी नेक्स्ट लाइन में जाना चाहिए फिर डेवलप अ प्रोग्राम दैट अपेंड्स यूजर इनपुट टू द एंड ऑफ लॉग फाइल ईच टाइम इट्स रन यानी एक कोई प्रोग्राम बनाइए जो एक लॉग फाइल डालता हो द प्रोग्राम वाज ओपन एट सपोज दिस टाइम या व्हाट एवर द प्रोग्राम वाज ओपेंड एंड हर बार जब भी आप वो प्रोग्राम चलाते रहे तो क्या करें एक लॉग फाइल बनाए और उसमें लॉग डालता रहे कि मेरा प्रोग्राम अभी ओपन हुआ है और लास्ट हमारा क्या है प्रोग्राम नंबर 104 व्हिच इज परफॉर्म एक ऐसा प्रोग्राम लिखिए जो बोथ रीडिंग एंड राइटिंग करता हो ऑन अ फाइल कॉल्ड टाड t एकटी तोटा . t एकटी में पहले कुछ लिखिए फिर पढ़िए इस तरह से आपको ओपन करना है इस मोड में ओपन करना है कि आप रीडिंग राइटिंग दोनों कर सके तो इन चैलेंज को एक बार दो बेटा ट्राई जरूर करना है ट्राई करना है उसके बाद सॉल्यूशन देखना है अगर सॉल्यूशन बेसिकली वीडियो सॉल्यूशन नहीं चाहिए तो गिट हब का भी लिंक होगा वहां पर आप इनका बेसिकली जो सिर्फ टेक्स्ट का सलूशन है वो भी देख सकते हैं पर मैं उम्मीद कर रहा हूं आप इतनी सारी प्रैक्टिस अगर कर गए हैं तो आप सी में माहिर प्रोग्रामर बन गए होंगे खत्म करने से पहले एक आखिरी बात देखिए अगर बहुत ज्यादा मेहनत लगी है इस कोर्स को बनाने में 2 महीने से ऊपर लगे हैं आपने देखा होगा दो महीने से कोई भी कंटेंट चैनल पर नहीं आया है दो महीने से ऊपर हमको इसको बनाने में लगे हैं अभी इसके सॉल्यूशन वीडियो भी आएगा जो प्रोजेक्ट वाला वीडियो है वो भी आएगा है ना तो आपको अगर यह वीडियो अच्छा लगा है तो लाइक बटन जरूर दबाइए कमेंट जरूर कमेंट में जरूर लिखिए कि आपने यह कोड फिनिश किया है आपने कोर्स फिनिश किया है और आपकी नेक्स्ट डिमांड क्या है जो बच्चे कोर्स फिनिश कर रहे हैं उनकी डिमांड में सबसे पहले सुनूंगा तो आपने कोर्स फिनिश किया है आपको समझ आया है आपको आगे क्या चाहिए है ना दोस्तों इसी तरह से पढ़ाई करते रहिए बहुत अच्छे बनिए बहुत बड़े बनिए बहुत अच्छी-अच्छी जॉब्स लीजिए और केजी कोडिंग को सब्सक्राइब जरूर करिएगा जय हिंद जय भारत