Memmove() सी और सी ++ में

Memmove Si Aura Si Mem



आज, हम सी और सी ++ भाषा के महत्वपूर्ण कार्यों में से एक को सीखने जा रहे हैं जो memmove () फ़ंक्शन है। लेकिन इससे पहले, आइए सी और सी ++ भाषाओं की मूल बातें देखें। हम यह भी चर्चा करेंगे कि C/C++ दोनों भाषाओं में कौन से कार्य हैं।

सी प्रोग्रामिंग भाषा सभी उद्देश्यों के लिए आसान और काफी प्रभावी है। इसके साथ विंडोज ओएस, डेटाबेस, इंटरप्रेटर और अन्य टूल्स जैसे सॉफ्टवेयर का कार्यान्वयन संभव है। सी शुरुआती लोगों के लिए कोडिंग सीखने के लिए एक बेहतरीन भाषा है। इसलिए सी प्रोग्रामिंग को मातृभाषा के रूप में जाना जाता है क्योंकि यह अन्य सभी कंप्यूटर भाषाओं की नींव के रूप में कार्य करती है। C++ प्रोग्रामिंग लैंग्वेज की नींव ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) के विचारों पर आधारित है। उपयोगकर्ता प्रोग्राम के सिद्धांतों को आसानी से विकसित और समझ सकता है क्योंकि C++ की एक स्पष्ट संरचना है। सी \ सी ++ प्रोग्रामिंग भाषा कई कार्यों को करने और एक चर को एक प्रकार से दूसरे में बदलने में असाधारण रूप से बहुमुखी है। मेमोव () फ़ंक्शन सी/सी ++ के कार्यों में से एक है।







मेमोव () फ़ंक्शन मेमोरी ब्लॉक की सामग्री से 'संख्या' बाइट्स को एक साथ स्थानांतरित करता है जो स्रोत द्वारा गंतव्य द्वारा इंगित स्थान की ओर इंगित किया जाता है। मेमोव () फ़ंक्शन केवल तब फायदेमंद होता है जब स्रोत और गंतव्य ऑब्जेक्ट ओवरलैप होते हैं और अपरिभाषित व्यवहार को होने से रोकते हैं। मेमोव () फ़ंक्शन के बारे में अधिक जानने के लिए, आइए देखें कि मेमोव () फ़ंक्शन में सिंटैक्स और उदाहरणों को कैसे लागू किया जाए।



वाक्य - विन्यास:

यहाँ समान लेखन शैली और C और C++ दोनों भाषाओं के लिए memmove() फ़ंक्शन का कार्यान्वयन है। सबसे पहले, हम 'शून्य' कीवर्ड लिखते हैं जिसका अर्थ है कि यदि फ़ंक्शन कोई मान नहीं लौटाता है, तो हम उस फ़ंक्शन का नाम लिखते हैं जिसे हम लागू करना चाहते हैं जो मेमोव () फ़ंक्शन है। फ़ंक्शन कोष्ठक में, हम गंतव्य लिखते हैं ताकि हम 'संख्या' बाइट्स को 'शून्य' कीवर्ड के साथ रख सकें। फिर, हम उस स्रोत स्थान को लिखते हैं जहाँ से हमें 'संख्या' बाइट मिलती है।







पैरामीटर्स:

हाथ: भंडारण स्थान का पता जिसमें डेटा कॉपी किया गया है।

स्रोत: भंडारण स्थान का पता जहां से डेटा कॉपी किया गया है।



गिनती करना: स्रोत से गंतव्य तक कॉपी करने के लिए डेटा की मात्रा।

प्रतिलाभ की मात्रा:

बदले में, हमें लक्ष्य स्मृति क्षेत्र का पता मिलता है। मेमोव () फ़ंक्शन द्वारा डेस्ट वापस किया जाता है।

उदाहरण 1: सी में मेमोव () फ़ंक्शन का कार्यान्वयन

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

#शामिल
#शामिल

मुख्य प्रवेश बिंदु ( )
{
चार ch1 [ ] = { 'एल' , 'मैं' , 'एन' , 'में' , 'एक्स' } ;

int लंबाई = sizeof ( ch1 ) / का आकार ( ch1 [ 0 ] ) ;

printf ( 'मेमोव () फ़ंक्शन लागू करने से पहले:' ) ;
के लिये ( पूर्णांक मैं = 0 ; मैं < लंबाई; मैं++ )
{
printf ( '%सी' , सीएच 1 [ मैं ] ) ;
}

चार * सीएच2 = और ch1 [ दो ] ;
memmove ( सीएच2, सीएच1, साइजोफ ( चार ) * दो ) ;

printf ( ' \एन \एन मेमोव () फ़ंक्शन लागू करने के बाद: ' ) ;

के लिये ( पूर्णांक मैं = 0 ; मैं < 5 ; मैं++ )
{
printf ( '%सी ' , सीएच 1 [ मैं ] ) ;
}
वापसी 0 ;

}


हम हमेशा कंपाइलर शुरू करने के बाद कोर प्रोग्राम मॉड्यूल को शामिल करके शुरू करते हैं। ये मॉड्यूल बंडल किए गए सी भाषा मॉड्यूल हैं। मॉड्यूल के निर्माण के लिए कोड की दर्जनों पंक्तियों के विपरीत, हमें इन मॉड्यूल को शामिल करने के लिए कोड की एक पंक्ति टाइप करने की आवश्यकता है। कार्यक्रम में मॉड्यूल जोड़ने के लिए 'शामिल करें' कीवर्ड का उपयोग करने से पहले '#' संकेतक अनुवादक को पहले मॉड्यूल लोड करने के लिए सूचित करता है। 'Stdio.h' मॉड्यूल का अर्थ है कि कंपाइलर उपयोगकर्ता से डेटा स्वीकार करता है और इसे उपयोगकर्ता को दिखाता है। कार्यक्रम का दूसरा मॉड्यूल '#include ' है ताकि हम मौजूदा कार्यक्रम में स्ट्रिंग से संबंधित कार्यों का उपयोग कर सकें।

फिर, हम मुख्य () फ़ंक्शन शुरू करते हैं ताकि हम कोड की वास्तविक पंक्ति लिख सकें जिसे हम प्रोग्राम में लागू करना चाहते हैं। पंक्ति 6 ​​में, हम वर्ण प्रकार के वर्ण सरणी नाम 'ch1' की घोषणा करते हैं। फिर, हम इसे एक कैरेक्टर वैल्यू असाइन करते हैं। उसके बाद, हम 'ch1' की लंबाई की गणना करते हैं और 'फॉर लूप' का उपयोग करके इनपुट ऐरे 'ch1' को प्रिंट करते हैं।

उसके बाद, हम एक प्रकार के वर्ण के 'ch2' सरणी के लिए सूचक की घोषणा करते हैं और 'ch2' सरणी के लिए 'ch1' सरणी का पता निर्दिष्ट करते हैं। फिर, हम इसे printf() स्टेटमेंट का उपयोग करके प्रिंट करते हैं। आइए पिछले चित्रण का आउटपुट देखें:

उदाहरण 2: सी++ में मेमोव () फ़ंक्शन का कार्यान्वयन

यहाँ मूल उदाहरण दिया गया है जो दिखाता है कि memmove() फ़ंक्शन C++ भाषा में कैसा प्रदर्शन करता है। लिखना शुरू करने के लिए, हमें सबसे पहले एक C++ IDE की आवश्यकता होती है ताकि हम प्रोग्राम को लिख और निष्पादित कर सकें। उसके लिए, C++ कंपाइलर खोलें और प्रोग्राम को लागू करना शुरू करें।

कंपाइलर खोलने के बाद, हम हमेशा उन हेडर फ़ाइलों को शामिल करके शुरू करते हैं जो प्रोग्राम चलाने के लिए C++ प्रोग्रामिंग लैंग्वेज के लिए आवश्यक हैं। प्रोग्राम बनाने और मेमोव () विधि का उपयोग करने के लिए, हम पहले दो मूलभूत शीर्षलेख फ़ाइलें - 'आईओस्ट्रीम' और 'सीस्ट्रिंग' शामिल करते हैं। सी ++ सरणी और तारों के साथ काम करने के कई तरीके प्रदान करता है। ये फ़ंक्शन उपयोग के लिए तब उपलब्ध कराए जाते हैं जब हेडर फ़ाइल को '#include ' हेडर फ़ाइल के साथ एक प्रोग्राम में शामिल किया जाता है, जिसका उपयोग स्रोत से गंतव्य तक डेटा की एक निश्चित संख्या में बाइट्स कॉपी करने के लिए किया जाता है। हेडर फ़ाइल '#include '  का उपयोग उपयोगकर्ता से डेटा के इनपुट और आउटपुट दोनों के लिए किया जाता है। फिर, हम C++ प्रोग्रामिंग लैंग्वेज के मानक सिंटैक्स का उपयोग करने के लिए अपने कोड में मानक 'नेमस्पेस एसटीडी' का उपयोग करते हैं ताकि हम पूरे प्रोग्राम में समान दायरे को संदर्भित करने से वस्तुओं, विधियों और मापदंडों को रोक सकें।

#शामिल
#शामिल <सीस्ट्रिंग>
नेमस्पेस एसटीडी का उपयोग करना;

मुख्य प्रवेश बिंदु ( )
{
चार स्रोत [ पचास ] = '1 2 3 4 5 6 7 8 9 0' ;
चार गंतव्य [ पचास ] = '0987654321' ;

अदालत << 'मेमो लगाने से पहले डेस्टिनेशन पर जाएं:' << प्रारंभ << एंडल;
memmove ( गंतव्य, स्रोत, 6 ) ;
अदालत << 'मेमोव टू डेस्टिनेशन लगाने के बाद:' << हाथ

वापसी 0 ;
}


हम कोड की वास्तविक लाइन के निष्पादन को शुरू करने के लिए मुख्य () फ़ंक्शन लिखना शुरू करते हैं। पंक्ति 7 में, लंबाई 50 की एक दो-वर्ण प्रकार की सरणी है जिसे 'src [50]' और 'गंतव्य [50]' के रूप में घोषित किया गया है। हम संदेश को प्रिंट करने के लिए 'cout' कथन का उपयोग करते हैं, 'मेमोव लागू करने से पहले () गंतव्य के लिए:'। फिर, हम 'dest' array के मान को प्रिंट करने के लिए 'dest' पैरामीटर पास करते हैं। फिर, मेमोव () फ़ंक्शन वर्ण प्रकार चर पर लागू होता है जिसे 'src [50]' और 'गंतव्य [50]' के रूप में घोषित किया जाता है ताकि मूल (src) से लक्ष्य (गंतव्य) तक बाइट्स की निश्चित संख्या को ओवरलैप किया जा सके। 'गिनती' की संख्या। यह उन बाइट्स की संख्या की पहचान करता है जिन्हें 'src' से 'dest' में कॉपी किया जाता है। जैसा कि आप निम्नलिखित दृष्टांत में देख सकते हैं, हमने '6' गणना संख्या घोषित की है।

उसके बाद, हम संदेश को प्रदर्शित करने के लिए फिर से 'cout' स्टेटमेंट का उपयोग करते हैं, 'मेमोव () को गंतव्य पर लागू करने के बाद:', और 'चरित्र' प्रकार के चर 'गंतव्य' सरणी को पास करें। प्रोग्राम को चलने से रोकने के लिए, हमें प्रोग्राम के समापन पर रिटर्न स्टेटमेंट का उपयोग करना चाहिए। फिर हम मुख्य समारोह में 0 लौटाते हैं, यह दर्शाता है कि कार्यक्रम सफलतापूर्वक निष्पादित किया गया है और इसका उद्देश्य हासिल किया गया है।

आप memmove() मेथड के निम्नलिखित आउटपुट में देख सकते हैं कि यदि ओवरलैपिंग है, उदाहरण के लिए, जब शुरुआती पॉइंटर अक्षर 6 पर जाता है, तो पॉइंटर प्रिंट करता रहता है और निम्नलिखित वर्ण ओवरलैप हो जाएंगे। यह सी ++ कोड स्निपेट चलाया गया था और परिणाम निम्न छवि में प्रदर्शित होते हैं:

निष्कर्ष

इस लेख में, हमने सी और सी++ प्रोग्रामिंग भाषाओं में मेमोव () फ़ंक्शन के बारे में सीखा। हमने इस बारे में बात की कि मेमोव () फ़ंक्शन सी और सी ++ के उदाहरण के माध्यम से कोड की प्रत्येक पंक्ति के विस्तृत स्पष्टीकरण के साथ कैसे काम करता है। हम आशा करते हैं कि आपको यह लेख सी और सी++ में मेमोव () फ़ंक्शन के बारे में अपने ज्ञान को विकसित करने में मददगार लगा होगा।