Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C भाषा में पूरी सरणी को फंक्शन में आर्गुमेंट के रूप में कैसे पास करें?

सरणी संबंधित आइटम्स का समूह है जो एक सामान्य नाम से संग्रहीत होता है।

सरणी घोषित करना

datatype array_name[size];

आरंभीकरण

  • कंपाइल टाइम आरंभीकरण
  • रनटाइम आरंभीकरण

घोषणा के समय आरंभीकरण:

int a[5] = {100, 200, 300, 400, 500};

फंक्शन

फंक्शन एक स्व-निहित ब्लॉक है जो एक विशिष्ट कार्य करता है। सरणी को आर्गुमेंट के रूप में पास करने के दो तरीके:

  • पूरी सरणी को आर्गुमेंट के रूप में भेजना
  • व्यक्तिगत एलिमेंट्स को आर्गुमेंट के रूप में भेजना

पूरी सरणी को आर्गुमेंट के रूप में भेजना

  • फंक्शन कॉल में सरणी का नाम भेजें (यह बेस पता पास करता है)।
  • फंक्शन हेडर में सरणी पैरामीटर घोषित करें।

उदाहरण 1: सरणी एलिमेंट्स प्रदर्शित करना

#include <stdio.h> 

void display(int a[5]);  // फंक्शन प्रोटोटाइप

int main() {
    int a[5], i;
    printf("Enter 5 elements: ");
    for(i=0; i<5; i++)
        scanf("%d", &a[i]);
    
    display(a);  // सरणी नाम पास करना (बेस पता)
    return 0;
}

void display(int a[5]) {  // पूरी सरणी प्राप्त करना
    int i;
    printf("Elements of the array are: ");
    for(i=0; i<5; i++)
        printf("%d ", a[i]);
}

आउटपुट

Enter 5 elements: 10 20 30 40 50
Elements of the array are: 10 20 30 40 50

उदाहरण 2: सरणी को रिवर्स ऑर्डर में प्रिंट करना

#include <stdio.h> 

void rev(int arr[5]);  // फंक्शन प्रोटोटाइप

void main() {
    int array[5], i;
    void rev(int array[5]);
    
    printf("Enter elements into the array:\n");
    for(i=0; i<5; i++) {
        printf("array[%d]: ", i);
        scanf("%d", &array[i]);
    }
    
    printf("The elements from the array displayed in reverse order:\n");
    rev(array);  // पूरी सरणी पास करना
}

void rev(int array[5]) {
    int i;
    for(i=4; i>=0; i--) {
        printf("array[%d]: %d\n", i, array[i]);
    }
}

आउटपुट

Enter elements into the array:
array[0]: 23
array[1]: 34
array[2]: 12
array[3]: 56
array[4]: 12
The elements from the array displayed in reverse order are:
array[4]: 12
array[3]: 56
array[2]: 12
array[1]: 34
array[0]: 23

महत्वपूर्ण बिंदु

  • C में सरणी नाम पास करने पर पहले एलिमेंट का पता पास होता है (पास-बाय-रेफरेंस जैसा व्यवहार)।
  • फंक्शन में सरणी में किए गए परिवर्तन मूल सरणी को प्रभावित करते हैं।
  • फंक्शन पैरामीटर में आकार वैकल्पिक है: void display(int a[]) या void display(int *a) भी काम करता है।
  • सरणी का आकार फंक्शन के अंदर sizeof से नहीं पता चलता (पॉइंटर का आकार देता है)।

बेहतर अभ्यास: आकार भी पास करें

void display(int *a, int size) {
    for(int i=0; i
            
  1. Android में सरणी के तत्वों को कैसे सॉर्ट करें? Android में सरणी के तत्वों को कैसे सॉर्ट करें?

    Android में सरणी तत्वों को सॉर्ट करने का पूरा गाइड यह उदाहरण दर्शाता है कि Android में सरणी के तत्वों को कैसे सॉर्ट किया जाता है। यहां बबल सॉर्ट एल्गोरिदम का उपयोग करके मैन्युअल सॉर्टिंग दिखाई गई है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File → New Project पर जाएं और नया प्रोजेक्ट बनाने के

  1. C भाषा में पॉइंटर्स का उपयोग करके ऐरे एलिमेंट्स का योग कैसे निकालें? C भाषा में पॉइंटर्स का उपयोग करके ऐरे एलिमेंट्स का योग कैसे निकालें?

    पॉइंटर क्या है? पॉइंटर एक वेरिएबल है जो दूसरे वेरिएबल का पता स्टोर करता है। निम्नलिखित स्टेटमेंट पर विचार करें: int qty = 179; पॉइंटर घोषित करना पॉइंटर घोषित करने का सिंटैक्स निम्नलिखित है: int *p; यहां, p एक पॉइंटर वेरिएबल है जो दूसरे वेरिएबल का पता रखता है। पॉइंटर का इनिशियलाइज़ेशन एड्रेस ऑपरेटर

  1. C भाषा में ऐरे के सॉर्टेड विशिष्ट एलिमेंट्स प्रिंट करना C भाषा में ऐरे के सॉर्टेड विशिष्ट एलिमेंट्स प्रिंट करना

    पूर्णांक एलिमेंट्स के एक ऐरे के साथ, डुप्लिकेट मानों को हटाकर विशिष्ट एलिमेंट्स को सॉर्टेड तरीके से प्रिंट करना है। नीचे एक ऐरे दिया गया है जो पूर्णांक प्रकार के मानों को 4, 6, 5, 3, 4, 5, 2, 8, 7 और 0 के क्रम में संग्रहीत करता है। अब, परिणाम सॉर्टेड एलिमेंट्स को 0, 2, 3, 4, 4, 5, 5, 6, 7 और 8 के