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

सी ++ फ़ंक्शन से स्थानीय सरणी कैसे वापस करें?


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

इसे प्रदर्शित करने वाला एक कार्यक्रम इस प्रकार दिया गया है।

उदाहरण

#include <iostream>
using namespace std;
int *retArray() {
   static int arr[10];
   for(int i = 0; i<10; i++) {
      arr[i] = i+1;
   }
   return arr;
}
int main() {
   int *ptr = retArray();
   cout <<"The array elements are: ";
   for(int i = 0; i<10; i++) {
      cout<< ptr[i] <<" ";
   }
   return 0;
}

आउटपुट

उपरोक्त कार्यक्रम का आउटपुट इस प्रकार है।

The array elements are: 1 2 3 4 5 6 7 8 9 10

आइए अब उपरोक्त कार्यक्रम को समझते हैं।

फ़ंक्शन retArray() में, एक स्थिर सरणी गिरफ्तारी परिभाषित की गई है। फिर इस सरणी को प्रारंभ करने के लिए लूप के लिए उपयोग किया जाता है। अंत में सरणी गिरफ्तारी वापस कर दी जाती है। इसे दिखाने वाला कोड स्निपेट इस प्रकार है।

int *retArray() {
   static int arr[10];
   for(int i = 0; i<10; i++) {
      arr[i] = i+1;
   }
   return arr;
}

मुख्य () फ़ंक्शन में, फ़ंक्शन retArray () को कॉल किया जाता है और ptr सरणी गिरफ्तारी की शुरुआत की ओर इशारा करता है। सरणी तत्वों को लूप के लिए उपयोग करके प्रदर्शित किया जाता है। इसे दिखाने वाला कोड स्निपेट इस प्रकार है।

int main() {
   int *ptr = retArray();
   cout <<"The array elements are: ";
   for(int i = 0; i<10; i++) {
      cout<< ptr[i] <<" ";
   }
   return 0;
}

  1. जावास्क्रिप्ट फ़ंक्शन से मान कैसे वापस करें?

    किसी JavaScript फ़ंक्शन से मान वापस करने के लिए, रिटर्न का उपयोग करें जावास्क्रिप्ट में बयान। मान वापस करने का तरीका जानने के लिए आपको निम्न कोड चलाना होगा - उदाहरण <html>    <head>       <script>          function concatenate(name,

  1. किसी ऑब्जेक्ट को जावास्क्रिप्ट फ़ंक्शन से कैसे वापस करें?

    किसी JavaScript फ़ंक्शन से किसी ऑब्जेक्ट को वापस करने के लिए, रिटर्न का उपयोग करें बयान, इस . के साथ कीवर्ड। उदाहरण आप JavaScipt फ़ंक्शन से किसी ऑब्जेक्ट को वापस करने के लिए निम्न कोड चलाने का प्रयास कर सकते हैं - <html>    <head>       <script>   &

  1. मैं नए का उपयोग करके C++ में 2d सरणी कैसे घोषित करूं?

    एक गतिशील 2D सरणी मूल रूप से सरणियों के लिए पॉइंटर्स की एक सरणी है। यहाँ एक 2D सरणी का आरेख है जिसका आयाम 3 x 4 है। एल्गोरिदम Begin    Declare dimension of the array.    Dynamic allocate 2D array a[][] using new.    Fill the array with the elements.    Print