Sunday, March 1, 2020

Passing array to function in C programming with example in hindi

c programming in hindi
c programming tutorial in hindi
चरों की तरह, सरणी को भी एक तर्क के रूप में एक समारोह में पारित किया जा सकता है। इस गाइड में, हम सीखेंगे कि किसी कॉल को वैल्यू द्वारा कॉल फंक्शन में कैसे पास किया जाए और रेफरेंस मेथड द्वारा कॉल करें।

मान विधि द्वारा कॉल का उपयोग करके कार्य करने के लिए सरणी पासिंग (Passing array to function using call by value method)

जैसा कि हम पहले से ही इस प्रकार के फ़ंक्शन कॉल में जानते हैं, वास्तविक पैरामीटर को औपचारिक मापदंडों पर कॉपी किया जाता है।


#include <stdio.h>
void disp( char ch)
{
   printf("%c ", ch);
}
int main()
{
   char arr[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'};
   for (int x=0; x<10; x++)
   {
       /* I’m passing each element one by one using subscript*/
       disp (arr[x]);
   }

   return 0;
}
Output:
a b c d e f g h i j

संदर्भ द्वारा कॉल का उपयोग कर कार्य करने के लिए सरणी पासिंग (Passing array to function using call by reference)


जब हम किसी फंक्शन को कॉल करते समय किसी ऐरे का एड्रेस पास करते हैं तो इसे फंक्शन कॉल रेफरेंस कहा जाता है। जब हम एक पते को एक तर्क के रूप में पास करते हैं, तो फ़ंक्शन घोषणा में पास किए गए पते को प्राप्त करने के लिए एक पैरामीटर के रूप में एक सूचक होना चाहिए।




#include <stdio.h>
void disp( int *num)
{
    printf("%d ", *num);
}

int main()
{
     int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
     for (int i=0; i<10; i++)
     {
         /* Passing addresses of array elements*/
         disp (&arr[i]);
     }

     return 0;
}
Output:
1 2 3 4 5 6 7 8 9 0

एक तर्क के रूप में एक समारोह में एक संपूर्ण सरणी कैसे पारित करें(How to pass an entire array to a function as an argument?)


उपरोक्त उदाहरण में, हमने सी में लूप का उपयोग करके एक-एक करके प्रत्येक ऐरे एलिमेंट का पता पास किया है। हालाँकि आप एक फंक्शन के लिए एक पूरे ऐरे को भी इस तरह से पास कर सकते हैं:

    नोट: सरणी नाम स्वयं उस सरणी के पहले तत्व का पता है। उदाहरण के लिए यदि सरणी नाम को गिरफ्तार किया गया है, तो आप कह सकते हैं कि गिरफ्तारी & गिरफ्तारी के बराबर है [0]।

#include <stdio.h>
void myfuncn( int *var1, int var2)
{
 /* The pointer var1 is pointing to the first element of
  * the array and the var2 is the size of the array. In the
  * loop we are incrementing pointer so that it points to
  * the next element of the array on each increment.
  *
  */
    for(int x=0; x<var2; x++)
    {
        printf("Value of var_arr[%d] is: %d \n", x, *var1);
        /*increment pointer for next element fetch*/
        var1++;
    }
}

int main()
{
     int var_arr[] = {11, 22, 33, 44, 55, 66, 77};
     myfuncn(var_arr, 7);
     return 0;
}
Output:
Value of var_arr[0] is: 11 
Value of var_arr[1] is: 22 
Value of var_arr[2] is: 33 
Value of var_arr[3] is: 44 
Value of var_arr[4] is: 55 
Value of var_arr[5] is: 66 
Value of var_arr[6] is: 77 

 

 

0 Comments:

Post a Comment