Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C/C++ में पूर्णांक फ़ंक्शन पॉइंटर्स की सरणी के पॉइंटर को लौटाने वाला फ़ंक्शन घोषित करना


दी गई सरणी के साथ, एक फ़ंक्शन बनाने का कार्य है जो पूर्णांक फ़ंक्शन पॉइंटर्स की सरणी के पॉइंटर को लौटाएगा।

इसके लिए हम दो मान इनपुट करेंगे और एक फ़ंक्शन कॉल करेंगे जो दोनों मानों की तुलना करता है और फ़ंक्शन पॉइंटर जो बड़े मान का मेमोरी एड्रेस लौटाता है और उसे परिणाम के रूप में प्रिंट करता है। फ़ंक्शन पॉइंटर का उपयोग अलग-अलग समय पर अलग-अलग फ़ंक्शन का पता पास करने के लिए किया जाता है जिससे फ़ंक्शन अधिक लचीला और अमूर्त बनता है। इसलिए फ़ंक्शन पॉइंटर्स का उपयोग रन-टाइम मानों के आधार पर निष्पादित करने के लिए फ़ंक्शन का चयन करने का एक सरल तरीका प्रदान करके कोड को सरल बनाने के लिए किया जा सकता है।

big() फ़ंक्शन की व्याख्या

प्रोग्राम दो पूर्णांकों को संदर्भ द्वारा big() फ़ंक्शन में पास करता है जो पास किए गए दो पूर्णांक मानों की तुलना करता है और बड़े मान का मेमोरी एड्रेस लौटाता है। big() का रिटर्न मान पूर्णांक टाइप का होता है जो गैर-शून्य और शून्य मान दोनों हो सकता है।

उदाहरण के लिए

इनपुट - 7 13

आउटपुट - Bigger value is 13

इनपुट - 8 6

आउटपुट - Bigger value is 8

व्याख्या - हमारे पास दो पूर्णांक मान थे और तुलना के बाद, पॉइंटर दोनों में से सबसे बड़े मान का मेमोरी एड्रेस लौटाएगा।

अनुसरण किया जा सकने वाला दृष्टिकोण

  • पूर्णांक पॉइंटर लें मान लें, int *c।
  • फिर दो पूर्णांक वेरिएबल इनिशियलाइज़ करें।
  • उसके बाद हम दो मान इनपुट करेंगे।
  • दो दिए गए मानों की तुलना करें।
  • अंत में पॉइंटर *c बड़े मान का एड्रेस लौटाता है।

एल्गोरिदम

Start STEP 1-> फ़ंक्शन बनाएं और आर्गुमेंट पास करें।    Int *big(int &, int &) END STEP 2-: दो मान दर्ज करने और प्रिंट करने और पॉइंटर *c इनिशियलाइज़ करने के लिए main() फ़ंक्शन कॉल करें।    int a, b, *c    call c= big(a,b)    print c END STEP 3-> पास किए गए दो पूर्णांक मानों की तुलना करें और पॉइंटर c के माध्यम से बड़े मान का मेमोरी एड्रेस लौटाएं।    तुलना    If(x>y)       return(&x)    else       return(&y)    END STOP

उदाहरण

#include<iostream.h> Int *big(int&, int&); Int main( ){    Int a, b, *c;    c= big(4, 7);    cout<<”The bigger value is”<<*c<<”\n”;    return 0; } Int *big(int&x, int&y){    If(x>y)       return(&x);    else       return(&y); }

आउटपुट

यदि हम उपरोक्त प्रोग्राम चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा

The bigger value is 7 The bigger value is 5

  1. C++ में new का उपयोग करके 2D ऐरे कैसे घोषित करें C++ में new का उपयोग करके 2D ऐरे कैसे घोषित करें

    एक डायनामिक 2D ऐरे मूल रूप से ऐरे के पॉइंटर्स का ऐरे होता है। यहां 3 x 4 आयाम वाले 2D ऐरे का एक आरेख है। एल्गोरिदम Begin ऐरे के आयाम घोषित करें। new का उपयोग करके 2D ऐरे a[][] को डायनामिक रूप से आवंटित करें। ऐरे को तत्वों से भरें। ऐरे प्रिंट करें। इसे हटाकर मेमोरी साफ़ करें। End

  1. - C++ फ़ंक्शन में ऐरे पास करना

    C++ पूरे ऐरे को फ़ंक्शन में आर्गुमेंट के रूप में पास करने की अनुमति नहीं देता। हालांकि, आप ऐरे के नाम को बिना इंडेक्स के निर्दिष्ट करके ऐरे का पॉइंटर पास कर सकते हैं। यदि आप सिंगल-डायमेंशन ऐरे को फ़ंक्शन में आर्गुमेंट के रूप में पास करना चाहते हैं, तो आपको फ़ंक्शन फॉर्मल पैरामीटर को निम्नलिखित तीन

  1. - C/C++ में ऐरे डिके क्या है?

    ऐरे और पॉइंटर्स C/C++ में काफी समान रूप से काम करते हैं। लेकिन कुछ सूक्ष्म अंतर हैं। उदाहरण के लिए, sizeof ऑपरेटर दोनों पर काफी अलग तरीके से काम करता है। जब आप किसी ऐरे को पॉइंटर में कन्वर्ट करते हैं, उदाहरण #include<iostream> int main() {    const int a[] = { 2, 3, 5, 7, 11 }; &nb