C ++ पासिंग फंक्शन पैरामीटर्स के रूप में (उदाहरण के साथ)

इस ट्यूटोरियल में, हम सीखेंगे कि C ++ में फ़ंक्शन पैरामीटर के रूप में एकल-आयामी और बहुआयामी सरणी को उदाहरणों की सहायता से कैसे पास किया जाए।

C ++ में, हम किसी फ़ंक्शन के तर्क के रूप में सरणियाँ पास कर सकते हैं। और, हम एक फ़ंक्शन से सरणियों को भी वापस कर सकते हैं।

इससे पहले कि आप फ़ंक्शन तर्क के रूप में सरणियों को पास करने के बारे में जानें, सुनिश्चित करें कि आप C ++ Arrays और C ++ फ़ंक्शंस के बारे में जानते हैं।

फ़ंक्शन पैरामीटर के रूप में पासिंग एरे के लिए सिंटैक्स

किसी एरे को किसी फंक्शन में पास करने का सिंटैक्स है:

 returnType functionName(dataType arrayName(arraySize)) ( // code )

आइए एक उदाहरण देखें,

 int total(int marks(5)) ( // code )

यहां, हमने intफ़ंक्शन के लिए एक प्रकार की सरणी का नाम दिया है total()। सरणी का आकार 5 है।

उदाहरण 1: फंक्शन में एक आयामी ऐरे पास करना

 // C++ Program to display marks of 5 students #include using namespace std; // declare function to display marks // take a 1d array as parameter void display(int m(5)) ( cout << "Displaying marks: " << endl; // display array elements for (int i = 0; i < 5; ++i) ( cout << "Student " << i + 1 << ": " << m(i) << endl; ) ) int main() ( // declare and initialize an array int marks(5) = (88, 76, 90, 61, 69); // call display function // pass array as argument display(marks); return 0; )

आउटपुट

 प्रदर्शित अंक: छात्र 1: 88 छात्र 2: 76 छात्र 3: 90 छात्र 4: 61 छात्र 5: 69

यहाँ,

  1. जब हम किसी फ़ंक्शन को तर्क के रूप में पास करके किसी फ़ंक्शन को कॉल करते हैं, तो केवल सरणी का नाम उपयोग किया जाता है।
     display(marks);
    यहाँ, तर्क चिह्न सरणी चिह्नों (5) के पहले तत्व की स्मृति पता दर्शाते हैं।
  2. हालाँकि, display()फ़ंक्शन के पैरामीटर पर ध्यान दें ।
     void display(int m(5))
    यहां, हम फंक्शन पैरामीटर में वर्ग ब्रेसिज़ सहित सरणी की पूर्ण घोषणा का उपयोग करते हैं ()
  3. फ़ंक्शन पैरामीटर में int m(5)कनवर्ट करता है int* m;। यह उसी बिंदु को इंगित करता है जो सरणी के निशान द्वारा इंगित किया गया है। इसका मतलब यह है कि जब हम फ़ंक्शन बॉडी में m (5) में हेरफेर करते हैं, तो हम वास्तव में मूल सरणी चिह्नों में हेरफेर कर रहे हैं।
    C ++ मेमोरी और समय को बचाने के लिए इस तरह से एक फंक्शन के लिए एक अरेंज पास करता है।

एक समारोह में बहुआयामी ऐरे पासिंग

हम फ़ंक्शन के तर्क के रूप में बहुआयामी सरणियों को भी पास कर सकते हैं। उदाहरण के लिए,

उदाहरण 2: फंक्शन में बहुआयामी ऐरे पास करना

 // C++ Program to display the elements of two // dimensional array by passing it to a function #include using namespace std; // define a function // pass a 2d array as a parameter void display(int n()(2)) ( cout << "Displaying Values: " << endl; for (int i = 0; i < 3; ++i) ( for (int j = 0; j < 2; ++j) ( cout << "num(" << i << ")(" << j << "): " << n(i)(j) << endl; ) ) ) int main() ( // initialize 2d array int num(3)(2) = ( (3, 4), (9, 5), (7, 1) ); // call the function // pass a 2d array as an argument display(num); return 0; ) 

आउटपुट

 प्रदर्शित मान: संख्या (0) (0): 3 संख्या (0) (1): 4 अंक (1) (0): 9 अंक (1) (1): 5 अंक (2) (0): 7 अंक ( 2) (1): 1

उपरोक्त कार्यक्रम में, हमने एक फ़ंक्शन को परिभाषित किया है जिसका नाम है display()। फ़ंक्शन दो आयामी सरणी लेता है, int n()(2)क्योंकि इसका तर्क और सरणी के तत्वों को प्रिंट करता है।

फ़ंक्शन को कॉल करते समय, हम फ़ंक्शन फ़ंक्शन के रूप में केवल दो आयामी सरणी का नाम पास करते हैं display(num)

नोट : सरणी में पंक्तियों की संख्या निर्दिष्ट करना अनिवार्य नहीं है। हालांकि, कॉलम की संख्या हमेशा निर्दिष्ट होनी चाहिए। यही कारण है कि हमने उपयोग किया है int n()(2)

हम फ़ंक्शन तर्क के रूप में 2 से अधिक आयामों के साथ सरणियाँ भी पास कर सकते हैं।

C ++ एक फ़ंक्शन से एक सरणी लौटना

हम फ़ंक्शन से एक सरणी भी वापस कर सकते हैं। हालाँकि, वास्तविक सरणी वापस नहीं है। इसके बजाय व्यूह की मदद से सरणी के पहले तत्व का पता दिया जाता है।

हम आने वाले ट्यूटोरियल्स में एक फंक्शन से एरेज़ लौटाने के बारे में जानेंगे।

दिलचस्प लेख...