Passing Array to Function in C in Hindi
सी में, विभिन्न सामान्य समस्याएं हैं जिनके लिए फ़ंक्शन के लिए एक ही प्रकार के एक से अधिक variable को pass करने की आवश्यकता होती है। उदाहरण के लिए, एक फ़ंक्शन पर विचार करें जो ascending order में 10 तत्वों को सॉर्ट करता है। इस तरह के फ़ंक्शन को main फ़ंक्शन से वास्तविक पैरामीटर के रूप में 10 नंबर पास करने की आवश्यकता होती है। यहां, 10 अलग-अलग संख्याओं को घोषित करने और फिर फ़ंक्शन में पास करने के बजाय, हम एक array को घोषित और आरंभ कर सकते हैं और फ़ंक्शन में पास कर सकते हैं। यह सभी जटिलताओं को हल करेगा क्योंकि फ़ंक्शन अब किसी भी संख्या के मान के लिए काम करेगा।
जैसा कि हम जानते हैं कि array_name में पहले तत्व का address है। यहां, हमें ध्यान देना चाहिए कि हमें फ़ंक्शन में केवल array के नाम को पास करना होगा, जिसका उद्देश्य किसी array को स्वीकार करना है। formal पैरामीटर के रूप में परिभाषित array स्वचालित रूप से actual पैरामीटर के रूप में परिभाषित array name द्वारा निर्दिष्ट सरणी को संदर्भित करेगी।
फ़ंक्शन के लिए एक सरणी पास करने के लिए सिंटैक्स।
- functionName(arrayname);//passing array
Methods to declare a function that receives an array as an argument
फ़ंक्शन को घोषित करने के 3 तरीके हैं जो एक argument के रूप में एक array प्राप्त करने है।
पहला तरीका:
- return_type function(type arrayname[])
रिक्त सबस्क्रिप्ट नोटेशन की घोषणा [] widely इस्तेमाल की जाने वाली तकनीक है।
दूसरा तरीका:
- Return_type function(type arrayname[SIZE])
वैकल्पिक रूप से, हम सबस्क्रिप्ट नोटेशन [] में आकार को परिभाषित कर सकते हैं।
तीसरा तरीका:
- Return_type function(type* arrayname)
आप एक पॉइंटर की concept का भी उपयोग कर सकते हैं। pointer अध्याय में, हम इसके बारे में जानेंगे।
C language passing an array to function example
#include<stdio.h>
int minarray(int arr[],int size){
int min=arr[0];
int i=0;
for(i=1;i<size;i++){
if(min>arr[i]){
min=arr[i];
}
}//end of for
return min;
}//end of function
int main(){
int i=0,min=0;
int numbers[]={4,5,7,3,8,9};//declaration of array
min=minarray(numbers,6);//passing array with size
printf("minimum number is %d \n",min);
return 0;
}
Output
minimum number is 3
C function to sort the array
#include<stdio.h>
void Bubble_Sort(int[]);
void main ()
{
int arr[10] = { 10, 9, 7, 101, 23, 44, 12, 78, 34, 23};
Bubble_Sort(arr);
}
void Bubble_Sort(int a[]) //array a[] points to arr.
{
int i, j,temp;
for(i = 0; i<10; i++)
{
for(j = i+1; j<10; j++)
{
if(a[j] < a[i])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
printf("Printing Sorted Element List ...\n");
for(i = 0; i<10; i++)
{
printf("%d\n",a[i]);
}
}
Output
Printing Sorted Element List …
7
9
10
12
23
23
34
44
78
101
Returning array from the function in c in hindi
जैसा कि हम जानते हैं कि, एक फ़ंक्शन एक से अधिक value नहीं लौटा सकता है। हालाँकि, यदि हम रिटर्न स्टेटमेंट को return a, b, c लिखने की कोशिश करते हैं; three values (a, b, c) वापस करने के लिए, फ़ंक्शन अंतिम उल्लिखित मान लौटाएगा जो हमारे मामले में c है। कुछ समस्याओं में, हमें एक फ़ंक्शन से कई मान वापस करने की आवश्यकता हो सकती है। ऐसे मामलों में, फ़ंक्शन से एक array वापस आ जाती है।
array को वापस करना फ़ंक्शन में array को पास करने के समान है। सरणी का नाम फ़ंक्शन से वापस आ गया है। किसी सरणी को वापस करने के लिए एक फ़ंक्शन बनाने के लिए, निम्नलिखित सिंटैक्स का उपयोग किया जाता है।
- int * Function_name() {
- //some statements;
- return array_type;
- }
फ़ंक्शन से लौटे array को संग्रहीत करने के लिए, हम एक pointer को परिभाषित कर सकते हैं जो उस array को point करता है। हम उस pointer को बढ़ाकर array को आगे बढ़ा सकते हैं क्योंकि pointer शुरू में सरणी के base address को point करता है। निम्न उदाहरण पर विचार करें जिसमें सॉर्ट किया गया सरणी लौटाने वाला फ़ंक्शन शामिल है।
-
- #include<stdio.h>
- int* Bubble_Sort(int[]);
- void main ()
- {
- int arr[10] = { 10, 9, 7, 101, 23, 44, 12, 78, 34, 23};
- int *p = Bubble_Sort(arr), i;
- printf(“printing sorted elements …\n”);
- for(i=0;i<10;i++)
- {
- printf(“%d\n”,*(p+i));
- }
- }
- int* Bubble_Sort(int a[]) //array a[] points to arr.
- {
- int i, j,temp;
- for(i = 0; i<10; i++)
- {
- for(j = i+1; j<10; j++)
- {
- if(a[j] < a[i])
- {
- temp = a[i];
- a[i] = a[j];
- a[j] = temp;
- }
- }
- }
- return a;
- }
Output
Printing Sorted Element List …
7
9
10
12
23
23
34
44
78
101