part 2

Published on
Embed video
Share video
Ask about this video

Scene 1 (0s)

[Audio] इस स्थान के साथ नाम i को जोड़ें। इस स्थान पर मान 3 को संग्रहीत करें। हम निम्नलिखित मेमोरी मानचित्र के माध्यम से i के स्थान को मेमोरी में प्रतिनिधित कर सकते हैं। हम देखते हैं कि कंप्यूटर ने मान 3 को संग्रहीत करने के लिए मेमोरी स्थान 65524 का चयन किया है। स्थान संख्या 65524 भरोसेमंद एक संख्या नहीं है, क्योंकि कुछ अन्य समय पर कंप्यूटर मान 3 को संग्रहीत करने के लिए एक अलग स्थान का चयन कर सकता है। महत्वपूर्ण बात यह है कि, मेमोरी में i का पता एक संख्या है। हम इस पता संख्या को निम्नलिखित कार्यक्रम के माध्यम से प्रिंट कर सकते हैं: #include main() उपरोक्त कार्यक्रम का आउटपुट होगा: i का पता = 65524 i का मान = 3 पहले printf() स्टेटमेंट को ध्यान से देखें। इसमें इस्टमेंट & C के पता का ऑपरेटर का उपयोग किया गया है। अभिव्यक्ति &i वेरिएबल i का पता देती है, जो इस मामले में 65524 है। 65524 एक पता को प्रतिनिधित करता है, इसलिए इसे %u का उपयोग करके प्रिंट किया जाता है, जो किसी अप्रत्यागत संख्या को प्रिंट करने के लिए एक फॉर्मेट स्पेसिफायर है। हम प्रैक्टिस के समय से ही & ऑपरेटर का उपयोग स्कैनएफ() स्टेटमेंट में करते आ रहे हैं। C में अन्य पॉइंटर ऑपरेटर * भी मौजूद है, जो पता पर स्थित मान ऑपरेटर कहा जाता है। पता पर स्थित मान ऑपरेटर को निर्देश.

Scene 2 (1m 43s)

[Audio] उपरोक्त कार्यक्रम का उत्पाद निम्नलिखित होगा: i का पता = 65524 i का मान = 3 i का मान = 3 ध्यान दें कि *(&i) की मान छपाना i के मान छपाने से समान है। अभिव्यक्ति &i चर परिवर्तन का पता प्रदान करती है। इस पते को एक चर में कलेक्ट किया जा सकता है, उदाहरण के लिए, j = &i ; लेकिन ध्यान रखें कि j को कोई आम चर की तरह परिभाषित नहीं किया गया है। यह एक चर है जो दूसरे चर (इस मामले में i) का पता समायोजित करता है। जैसा कि j एक चर है, कॉम्पाइलर को इसे मेमोरी में स्थान प्रदान करना होगा। दोबारा, निम्नलिखित मेमोरी मैप i और j के सामग्री को दर्शाता है। जैसा कि आप देख सकते हैं, i का मान 3 है और j का मान i का पता है। लेकिन ध्यान रखें, हम j को बिना इस्तेमाल किये प्रोग्राम में नहीं कर सकते। और क्योंकि j एक ऐसा चर है जो i का पता समायोजित करता है, इसलिए इसे इस तरह से प्रारूपित किया जाता है, int *j ; यह घोषणा करता है कि कंपाइलर को j को एक पूर्णांक मान की पता संग्रहित करने के लिए उपयोग करना है। अन्य शब्दों में, j एक पूर्णांक के संदर्भ में होगा। हम * की घोषणा को व्याख्या करने के लिए कैसे उपयोग करते हैं, int *j ; हमें * की अर्थ से आगे बढ़ना चाहिए। यह पते पर मूल्य का लिए खड़ा होता है। इस प्रकार, int *j अर्थ होगा, j में संग्रहित पते पर मूल्य एक पूर्णांक ह.

Scene 3 (3m 26s)

[Audio] #शामिल करें मुख्य( ) उपरोक्त कार्यक्रम का आउटपुट होगा: i का पता = 65524 i का पता = 65524 j का पता = 65522 j का मान = 65524 i का मान = 3 i का मान = 3 i का मान = 3 9. संरचनाएं संरचना एक या अधिक चर, अलग-अलग प्रकार के संग्रह को एक ही नाम के तहत एकत्रित करने के लिए होती है। 9.1 संरचना घोषणा संरचना घोषणा विवरण निम्नलिखित रूप में होती है: struct <संरचना का नाम> ; नया संरचना डेटा टाइप परिभाषित होने के बाद एक या एक से अधिक चर उस टाइप का घोषित किए जा सकते हैं। उदाहरण के लिए, b1, b2, b3 चर संरचना book के टाइप के घोषित किए जा सकते हैं, 27/32.

Scene 4 (4m 30s)

[Audio] बुनियादी रूप से, स्ट्रक्ट बुक; जैसे, स्ट्रक्ट बुक बी 1, बी 2, बी 3; यह वाक्य मेमोरी में स्थान रिक्त कर देता है। यह सभी तत्वों को भरने के लिए स्थान उपलब्ध कराता है इस मामले में, 7 बाइट एक नाम, चार कीमत और दो पन्ने के लिए। ये बाइट्स हमेशा समान्य मेमोरी स्थानों में होते हैं। मुख्य रूप से वेरिएबल्स और एरे, स्ट्रक्टर वेरिएबल्स भी घोषित हो सकते हैं। इन्हें घोषित करने के लिए यूज्ड़ किया जाने वाला स्वरूप बहुत ही समान एरे बनाने के लिए छोटा होता है। स्ट्रक्ट बुक; । स्ट्रक्ट बुक बी1 =; स्ट्रक्ट बुक बी2 =; 9.2 ऑक्सेसिंग स्ट्रक्चर तत्वों, हम एक सरगर्सिप उपयोग करके एरे के साथ अलग-अलग तत्वों का अनुप्रयोग कर सकते हैं। स्ट्रक्चर अलग योजना उपयोग करते हैं। कुछ समयों के बाद, जिसमें हमेशा से स्ट्रुक्टिल वेरिएबल और उसके बाद स्ट्रुक्त तत्व होता है। 9.3 उदाहरण, निम्नलिखित उदाहरण में इस डाटा टाइप का इस्तेमाल के अनुप्रणय को प्रतिनिधित करता है। २८/३२.

Scene 5 (5m 46s)

[Audio] #include main(); struct book b1, b2, b3; printf(\nEnter names, prices & no. of pages of 3 books\n); scanf(%c %f %d, &b1.name, &b1.price, &b1.pages); scanf(%c %f %d, &b2.name, &b2.price, &b2.pages); scanf(%c %f %d, &b3.name, &b3.price, &b3.pages); printf(\n\nऔर यह है जो आपने भरा); printf(\n%c %f %d, b1.name, b1.price, b1.pages); printf(\n%c %f %d, b2.name, b2.price, b2.pages); printf(\n%c %f %d, b3.name, b3.price, b3.pages); } और यहाँ आउटपुट है... तीन पुस्तकों के नाम, मूल्य और पृष्ठों की संख्या भरें A 100.00354 C 256.50682 F 233.70512 और यह है जो आपने भरा A 100.000000354 C 256.500000682 F 233.700000512 9.4 उपसारण एक संरचना विषय सामान्यतः विभिन्न डेटा को साथ में स्टोर करने के लिए प्रयोग किया जाता है। संरचना तत्व स्ट्रक्चर चर माध्यम से एक संरचना चर के द्वारा एक संरचना चर के रूप में उपलब्ध हो सकते हैं। संरचना तत्व एक संरचना चर करके एक संरचना चर माध्यम से उपलब्ध हो सकते हैं। सभी संरचना तत्वों को एक से अधिक संरचना चर के साथ आईएस ऑपरेटर का उपयोग करके स्थापित किया जा सकता है। एक फ़ंक्शन को या तो मूल्य द्वारा या पते द्वारा संरचना चर को पास करना संभव है। संरचना से संबंधित समूही चर बनाना संभव है 10. फाइलें 10.1 फ़ाइल पॉइंटर्स 29/32.

Scene 6 (8m 14s)

[Audio] C में फ़ाइलों का उपयोग करने के कई तरीके है। फ़ाइल की सबसे सीधी उपयोग तरीका एक फ़ाइल पॉइंटर के माध्यम से है। फ़ाइल *fp; fp एक फ़ाइल के लिए एक पॉइंटर है। फ़ाइल का प्रकार एक बुनियादी प्रकार नहीं है, इसके बजाय यह हेडर फ़ाइल stdio.h में परिभाषित है, इस फ़ाइल को आपके प्रोग्राम में सम्मिलित किया जाना चाहिए। 10.2 फ़ाइल खोलना fp = fopen(filename, mode); फ़ाइलनाम और मोड दोनों स्ट्रिंग्स होते हैं। मोड r पढ़ने के लिए w लिखने के लिए, अगर फ़ाइल मौजूद हो तो ओवरराइट करें अगर फ़ाइल मौजूद हो तो जारी रखें, लेकिन ओवरराइट न करें r plus पढ़ना और लिखना, अगर फ़ाइल मौजूद है तो नष्ट न करे w plus पढ़ना और लिखना, अगर फ़ाइल मौजूद हो तो ओवरराइट करें a plus पढ़ना और लिखना, अगर फ़ाइल मौजूद हो तो जारी रखें, लेकिन ओवरराइट न करें b ऊपर दिए गए मोड को जोड़ने से फ़ाइल बाइनरी मोड में खोली जाएगी और टेक्स्ट मोड में नहीं। fp = fopen(data.dat,a); डिस्क फ़ाइल data.dat को लिखने के लिए खोलेगा, और जो भी जानकारी लिखी जाएगी वह फ़ाइल में जोड़ी जाएगी। ANSI C Rationale से निम्नलिखित महत्वपूर्ण तालिका खोलने के लिए विभिन्न मोड के अलग-अलग कार्यों और आवश्यकताओं की सूची है: fopen अगर फ़ाइल उन्हों.

Scene 7 (9m 42s)

[Audio] अधिकारित त्रुटि संदेश दिखाया गया और कार्यक्रम रोक दिया गया है। अधिकांश स्थितियों में यह अनुचित होगा, इसके बजाय उपयोगकर्ता को फाइल नाम फिर से दर्ज करने का मौका दिया जाना चाहिए। #include int main() //फ़ाइल की सामग्री का उपयोग करने का कोड return 0; } सरल फाइल उपयोग को निम्नलिखित लाइब्रेरी फ़ंक्शन के साथ किया जाता है। fprintf(fp, formatstring, ...) फाइल को प्रिंट करें fscanf(fp, formatstring, ...) फाइल से पढ़ें getc(fp) फाइल से एक अक्षर प्राप्त करें putc(c, fp) फाइल में एक अक्षर डालें ungetc(c, fp) फाइल पर एक अक्षर वापस डालें (केवल एक अक्षर को वापस डालने के लिए गारंटी दी जाती है) fopen( फ़ाइलनाम, मोड) फाइल खोलें fclose(fp) फाइल बंद करें स्टैंडर्ड हेडर फ़ाइल stdio.h में मौजूद तीन फ़ाइल पॉइंटर स्थिर परिस्थिति stdin, stdout और stderr नामक फाइल के लिए स्टैंडर्ड इनपुट, आउटपुट और त्रुटि स्ट्रीम के लिए परिभाषित हैं। त्रुटि संदेशों को स्टैंडर्ड त्रुटि स्ट्रीम में लिखने को अच्छा अभ्यास माना जाता है। इसे करने के लिए fprintf() फ़ंक्शन का प्रयोग करें: fprintf(stderr, त्रुटि: फ़ाइल %s खोलने में असमर्थ\n, फ़ाइलनाम); फंक्शन fscanf() और getc() फाइल से सामग्री में सीक्वेंश्यल उपयोग किया जाता है, अर्थात आगे पढ़ने से यह डेटा उस डेटा के बाद पढ़ेंगे, और अंत में आप फाइल के अंत तक पहुंच.

Scene 8 (11m 26s)

[Audio] fseek(fp,0 लीटर, seek_cur) जो मौजूदा स्थिति से 0 बाइट आगे ले जाएगा! 11. कमांड लाइन आर्गुमेंट्स कमांड प्रॉम्प्ट पर main() को पास किए जाने वाले आर्गुमेंट्स के रूप में जाने जाते हैं। main का पूरा डिक्लेरेशन इस तरह से है: int main (int argc, char *argv[]) फंक्शन main() के दो आर्गुमेंट्स हो सकते हैं, जिन्हें पारंपरिक रूप से argc और argv के नाम से जाना जाता है। इनमें से, argv एक स्ट्रिंग्स के पॉइंटर्स का एरे है और argc एक int है जिसकी मूल्य argv के पॉइंटर्स के इंज होता है। जब प्रोग्राम चलाया जाता है, तो कमांड प्रॉम्प्ट पर स्ट्रिंग्स main() को पास की जाती हैं। अधिक स्पष्ट शब्दों में, कमांड प्रॉम्प्ट पर स्ट्रिंग्स को मेमोरी में स्टोर किया जाता है और पहली स्ट्रिंग का पता argv[0] में स्टोर किया जाता है, दूसरी स्ट्रिंग का पता argv[1] में स्टोर किया जाता है और इसी तरह से आगे। आर्गुमेंट argc को कमांड प्रॉम्प्ट पर दिए गए स्ट्रिंग्स की संख्या के बराबर सेट किया जाता है। उदाहरण के लिए, हमारे सैंपल प्रोग्राम में, अगर हम कमांड प्रॉम्प्ट पर निम्नलिखित दें, तो argc में 3 होगा, argv[0] में filecopy स्ट्रिं.