ऐरे को फंक्शन में पास करने के दो तरीके
- पूरा ऐरे आर्गुमेंट के रूप में भेजना
- इंडिविजुअल एलिमेंट्स आर्गुमेंट के रूप में भेजना
पूरा ऐरे पास करना
- फंक्शन कॉल में केवल ऐरे नाम भेजें।
- फंक्शन हेडर में ऐरे पैरामीटर घोषित करें।
उदाहरण 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("Array elements: ");
for (i = 0; i < 5; i++)
printf("%d ", a[i]);
}
आउटपुट
Enter 5 elements: 10 20 30 40 50 Array elements: 10 20 30 40 50
उदाहरण 2
#include <stdio.h>
void number(int a[5]);
int main() {
int a[5], i;
printf("Enter 5 elements: ");
for (i = 0; i < 5; i++)
scanf("%d", &a[i]);
number(a);
return 0;
}
void number(int a[5]) {
int i;
printf("Array elements:\n");
for (i = 0; i < 5; i++)
printf("%d\n", a[i]);
}
आउटपुट
Enter 5 elements: 100 200 300 400 500 Array elements: 100 200 300 400 500
महत्वपूर्ण अवधारणा
C में ऐरे पास करते समय:
void func(int a[5]),void func(int a[]), औरvoid func(int *a)तीनों समान हैं।- फंक्शन को ऐरे का साइज नहीं पता चलता; अलग से पास करना पड़ता है।
- फंक्शन में ऐरे मॉडिफाई करने पर मूल ऐरे प्रभावित होता है (कॉल बाय रेफरेंस जैसा)।
बेहतर प्रैक्टिस: साइज भी पास करें
void display(int *arr, int size) {
for (int i = 0; i < size; i++)
printf("%d ", arr[i]);
}
// कॉल
display(arr, 5);