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

C++ फ़ंक्शन में टू-डायमेंशनल ऐरे पास करना


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

2D ऐरे के कॉलम का आकार निर्दिष्ट करें

void processArr(int a[][10]) {    // कुछ करें }

पॉइंटर्स वाला ऐरे पास करें

void processArr(int *a[10]) {    // कुछ करें } // कॉल करते समय int *array[10]; for(int i = 0; i < 10; i++)    array[i] = new int[10]; processArr(array);

पॉइंटर टू पॉइंटर पास करें

void processArr(int **a) {    // कुछ करें } // कॉल करते समय: int **array; array = new int *[10]; for(int i = 0; i <10; i++)    array[i] = new int[10]; processArr(array);

उदाहरण

#include<iostream> using namespace std; void processArr(int a[][2]) {    cout << "element at index 1,1 is " << a[1][1]; } int main() {    int arr[2][2];    arr[0][0] = 0;    arr[0][1] = 1;    arr[1][0] = 2;    arr[1][1] = 3;    processArr(arr);    return 0; }

आउटपुट

यह आउटपुट देगा:

element at index 1,1 is 3

  1. - C++ फंक्शन से लोकल सरणी कैसे लौटाएं?

    एक लोकल सरणी को C++ फंक्शन से सीधे नहीं लौटाया जा सकता क्योंकि फंक्शन कॉल के बाद यह मेमोरी में मौजूद नहीं रह सकती। इसे हल करने का एक तरीका फंक्शन में स्टैटिक सरणी का उपयोग करना है। चूंकि स्टैटिक सरणी का जीवनकाल पूरा प्रोग्राम होता है, इसे ऊपर बताई गई समस्या के बिना C++ फंक्शन से आसानी से लौटाया जा स

  1. - C++ में फंक्शन से सरणी कैसे लौटाएं?

    C++ पूरी सरणी नहीं लौटाता लेकिन यह सरणी का पॉइंटर लौटा सकता है। फंक्शन के बाहर, लोकल वेरिएबल का पता नहीं लौटाया जा सकता। लोकल वेरिएबल को स्टैटिक बनाकर, यह लोकल वेरिएबल का पता लौटा सकता है। पॉइंटर लौटाने का सिंटैक्स निम्नलिखित है। int * function_name() { body } यहां, function_name − उपयोगकर्ता

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

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