इंडिविजुअल एलिमेंट्स पास करना
यदि इंडिविजुअल एलिमेंट्स पास करने हैं, तो फंक्शन कॉल में सबस्क्रिप्ट के साथ ऐरे एलिमेंट्स दिए जाते हैं। फंक्शन डेफिनिशन में साधारण वेरिएबल्स से रिसीव होते हैं।
उदाहरण 1: पहला और अंतिम एलिमेंट पास करना
#include <stdio.h>
void display(int a, int b);
int main() {
int a[5], i;
printf("Enter 5 elements: ");
for (i = 0; i < 5; i++)
scanf("%d", &a[i]);
display(a[0], a[4]); // इंडिविजुअल आर्गुमेंट्स
return 0;
}
void display(int a, int b) {
printf("First element = %d\n", a);
printf("Last element = %d\n", b);
}
आउटपुट
Enter 5 elements: 10 20 30 40 50 First element = 10 Last element = 50
उदाहरण 2: 6 एलिमेंट्स में से पहला और अंतिम
#include <stdio.h>
void arguments(int a, int b);
int main() {
int a[10], i;
printf("Enter 6 elements: ");
for (i = 0; i < 6; i++)
scanf("%d", &a[i]);
arguments(a[0], a[5]);
return 0;
}
void arguments(int a, int b) {
printf("First element = %d\n", a);
printf("Last element = %d\n", b);
}
आउटपुट
Enter 6 elements: 1 2 3 4 5 6 First element = 1 Last element = 6
तुलना: पासिंग मेथड्स
| विधि | कॉल | फंक्शन पैरामीटर | उपयोग |
|---|---|---|---|
| इंडिविजुअल एलिमेंट्स | func(arr[0], arr[3]) | int x, int y | कुछ विशिष्ट एलिमेंट्स |
| पूरा ऐरे (वैल्यू) | func(arr) | int arr[] या int* | संपूर्ण ऐरे प्रोसेसिंग |
| पूरा ऐरे (रेफरेंस) | func(arr, size) | int *arr, int size | मॉडिफिकेशन + साइज |
नोट
C में ऐरे वैल्यू द्वारा पास नहीं होता; ऐरे नाम पहले एलिमेंट के पॉइंटर में डिके होता है। इसलिए पूरा ऐरे पास करना वास्तव में पॉइंटर पास करना है।