C++ फ़ंक्शन के तर्क के रूप में संपूर्ण सरणी को पारित करने की अनुमति नहीं देता है। हालांकि, आप किसी अनुक्रमणिका के बिना सरणी का नाम निर्दिष्ट करके किसी सरणी में एक सूचक पास कर सकते हैं। किसी फ़ंक्शन में 2D सरणी पास करने के तीन तरीके हैं -
2D सरणी के स्तंभों का आकार निर्दिष्ट करें
void processArr(int a[][10]) { // Do something }
पॉइंटर्स वाली सरणी पास करें
void processArr(int *a[10]) { // Do Something } // When callingint *array[10]; for(int i = 0; i < 10; i++) array[i] = new int[10]; processArr(array);
एक पॉइंटर को एक पॉइंटर पास करें
void processArr(int **a) { // Do Something } // When calling: 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