https://www.rakeshmgs.in/search/label/Template
https://www.rakeshmgs.in

Learn in Hindi

RakeshMgs

How to Pass Array to a Function | Passing Element in a Array Functions

गुरुवार, मार्च 04, 2021

How to pass Array to a Function

जब भी हमें C भाषा में किसी फ़ंक्शन के लिए elements की एक सूची को एक argument के रूप में पारित करने की आवश्यकता होती है, तो एक array का उपयोग करके ऐसा करना पसंद किया जाता है। लेकिन हम एक फ़ंक्शन के तर्क के रूप में एक array कैसे पारित कर सकते हैं? आइए देखें कि कैसे किया जाता है।

Declaring Function with array as a parameter

ऐसा करने के दो संभावित तरीके हैं, एक तो call by value और दूसरा रेफरेंस कॉल करके।
1.हम या तो एक parameter के रूप में एक array रख सकते हैं।

	
	
int sum (int arr[]);

2. या, हमारे पास हमारे base address पता रखने के लिए, parameter list में एक pointer हो सकता है।

	
	
int sum (int* ptr);

हम बाद में विवरण में दूसरे तरीके का अध्ययन करेंगे जब हम pointers का अध्ययन करेंगे।

Returning an Array from a function

हम फ़ंक्शंस से कोई array नहीं लौटाते हैं, बल्कि हम एक pointer लौटाते हैं, जिस array के base address को वापस रखा जाता है। लेकिन हमें यह सुनिश्चित करना चाहिए कि फ़ंक्शन समाप्त होने के बाद array मौजूद है यानी array function के लिए local नहीं है।

	
	
int* sum (int x[]) { // statements return x ; }

हम इस बारे में चर्चा करेंगे जब हम A के साथ बिंदुओं का अध्ययन करेंगे।

Passing arrays as parameter to function

अब कुछ उदाहरण देखते हैं जहां हम एक फ़ंक्शन के लिए एक तर्क के रूप में एक single array element, एक फ़ंक्शन के लिए one-dimensional array और एक फ़ंक्शन के लिए multidimensional प्रदान करेंगे।

Passing a single array element to a function

चलो एक बहुत ही सरल program लिखते हैं, जहां हम अपने main() फ़ंक्शन में integers की एक array को declare और define करेंगे और एक एरे element को एक फंक्शन में पास करेंगे, जो कि केवल एलीमेंट के value को प्रिंट करेगा।

    
#include <stdio.h> void giveMeArray(int x);// function declaration int main() { int myArray[] = { 2, 3, 4 }; //Passing array element myArray[2] only. x =giveMeArray(myArray[2]); return 0; } void giveMeArray(int a)// function definition { printf("%d" , a); }

output

4

Passing a complete One-dimensional array to a function

यह समझने के लिए कि यह कैसे किया जाता है, आइए array के सभी elements के औसत का पता लगाने और इसे प्रिंट करने के लिए एक फ़ंक्शन लिखें.

हम केवल array के नाम पर तर्क के रूप में भेजेंगे, जो कि array के starting element के address के अलावा कुछ भी नहीं है, या हम कह सकते हैं कि starting memory address।

    
#include <stdio.h> float findAverrage(int mark[]); int main() { float avg; int myArray[] = { 99, 90, 96, 93, 95 }; // name of the array is passed as argument.. avg = findAverage(marks); printf("Average marks = %.1f" , avg); return 0; } float findAverage(int marks[]) { int i, sum = 0; float avg; for(i = 0; i<= 4; i++){ sum += marks[i]; avg = (sum / 5); return avg; } }

output

94.6

Passing a Multi-dimensional array to a function

यहां फिर से, हम केवल array के नाम को argument के रूप में पास करेंगे।

    
#include <stdio.h> void displayArray(int arr[3][3]); int main() { float avg; int arr[3][3], i,j; printf("Please enter 9 numbers for the array: \n"); for(i = 0; i<= 4; i++){ for(j = 0; j < 3; ++j){ scanf ("%d", &arr[i][j]); } } // passing the array as argument displayArray(arr); return 0; } void displayArray(int arr[3][3]) { int i, j; printf ("The complete array is: \n"); for(i = 0; i < 3; ++i){ // getting cursor to new line printf("\n" ); for(j = 0; j < 3; ++j){ // \t is used to provide tab space printf("%d\t",arr[i][j] ); } } }

Please enter 9 numbers for the array:

1
2
3
4
5
6
7
8
9
The complete array is:
1 2 3
4 5 6
7 8 9