Passing arguments to functions in c hindi
फ़ंक्शन को C प्रोग्रामिंग में पैरामीटर आर्गुमेंट लिस्ट पास करने से आप फ़ंक्शन को इनपुट डेटा वैल्यू प्रदान कर सकते हैं. ताकि वह आर्गुमेंट पैरामीटर लिस्ट डेटा वैल्यू के आधार पर अपना फंक्शन यूजर डिफाइन टास्क कर सके। सी लैंग्वेज में फ़ंक्शन को दिए जाने वाले आर्गुमेंट या पैरामीटर लिस्ट कई प्रकार के हो सकते हैं. जैसे कॉमन आर्गुमेंट लिस्ट में इन्टिजर, फ़्लोटिंग-पॉइंट नंबर, करैक्टर, डबल, ऐरे या पॉइंटर, आदि आर्गुमेंट पैरामीटर है।
So let’s see how to pass arguments to a function in C language.
Types of function parameters in C language.
Passing by value.
कोई भी C प्रोग्राम डिफ़ॉल्ट रूप से फ़ंक्शन आर्गुमेंट पैरामीटर को वैल्यू द्वारा पास करता है। इसका मतलब है कि फ़ंक्शन को आर्गुमेंट के वैल्यू की एक कॉपी मिलती है, और प्रोग्राम में फ़ंक्शन कालिंग के समय अंदर के मौजूदा पैरामीटर लिस्ट में कोई मॉडिफिकेशन डिफ़ॉल्ट फंक्शन पैरामीटर आर्गुमेंट को प्रभावित नहीं करते हैं।
Example of pass by value.
/// function prototype declaration
void modifyValue(int p);
// Function definition declare
void corectedValue(int p) {
p = p + 1;
printf(“\n see the corected value with function – %d”, p);
}
int main() {
int q = 2;
corectedValue(q); // Passing ‘q’ by corectedvalue function
printf(“see the Original value with function call – %d”, q);
return 0;
}
इस कॉल बाय वैल्यू फंक्शन के उदाहरण में, p को वैल्यू द्वारा करेक्टेडवैल्यू() में पास किया जाता है। फ़ंक्शन के अंदर p में किए गए परिवर्तन main() में आर्गुमेंट को प्रभावित नहीं करते हैं।
Passing by Reference (Using Pointers) in C.
डिक्लेअर फ़ंक्शन के अंदर ओरिजिनल वेरिएबल को मॉडिफाई करने के लिए, आप फंक्शन के साथ पॉइंटर्स ऑपरेटर का उपयोग करके फंक्शन आर्गुमेंट पैरामीटर लिस्ट मेमोरी एड्रेस रेफ़्रेन्स द्वारा फंक्शन वेरिएबल आर्गुमेंट वैल्यू को पास कर सकते हैं। यह फ़ंक्शन को ओरिजिनल वेरिएबल के मेमोरी एड्रेस स्थान तक सीधे पहुँचने और उनमे आपको वैल्यू मॉडिफाई करने की अनुमति देता है।
Call by reference example.
// Function prototype declaration
void corectedValueByReference(int *p);
// Function definition declaration
void corectedValueByReference(int *p) {
*p = *p + 1;
printf(“\n see the Modified value with function – %d”, *p);
}
int main() {
int q = 2;
corectedValueByReference(&q); // Passing ‘q’ by reference declaration
printf(“\n see the Original value after function call – %d”, q);
return 0;
}
इस कॉल बाय रेफ़्रेन्स फंक्शन उदाहरण में पॉइंटर ऑपरेटर का उपयोग करके फंक्शन आर्गुमेंट पैरामीटर लिस्ट को रेफ़्रेन्स द्वारा q आर्गुमेंट को corectedValueByReference() में पास किया जाता है। फ़ंक्शन के अंदर *p आर्गुमेंट में किए गए परिवर्तन सीधे main() में संख्या को मॉडिफाई होते हैं।
Passing arrays to C functions.
C प्रोग्राम में ऐरे डाटा टाइप को आमतौर पर पॉइंटर्स ऑपरेटर के साथ फंक्शन में पास किया जाता है, भले ही ऐरे नोटेशन का उपयोग फंक्शन आर्गुमेंट पैरामीटर वेरिएबल लिस्ट डिक्लेरेशन में किया जा सकता है। ऐसा इसलिए है क्योंकि ऐरे डाटा टाइप का नाम ही ऐरे के पहले एलिमेंट के लिए पॉइंटर को रिप्रेजेंट करता है।
Passing array function example.
// Function prototype declaration
void Arrayelement(int arr[], int value);
// Function definition declaration
void Arrayelement(int arr[], int value) {
for (int p = 0; p < value; p++) {
printf(“%d “, arr[p]);
}
printf(“\n”);
}
int main() {
int integer[] = {5, 4, 3, 2, 1};
int value = sizeof(integer) / use to check sizeof operator to array(integer[0]);
Arrayelement(integer, value); // Passing ‘integer’ array to Arrayelement function
return 0;
}
इस उदाहरण में, इन्टिजर array को Arrayelement() फ़ंक्शन में उसके पहले ऐरे एलिमेंट के पॉइंटर के रूप में array के आकार के साथ पास किया जाता है।
Passing Strings to Functions in C.
C प्रोग्राम में स्ट्रिंग्स डाटा टाइप को आमतौर पर कैरेक्टर ऐरे डाटा टाइप फॉर्मेट के रूप में प्रोसेस किया जाता है। किसी भी करैक्टर स्ट्रिंग फ़ंक्शन में arrays के रूप में या कैरेक्टर्स के पॉइंटर्स के रूप में आर्गुमेंट पैरामीटर लिस्ट में पास किया जा सकता है।
Example of string processing function in C.
// Function prototype declaration
void displayString(char str1[]);
// Function definition declaration
void displayString(char str1[]) {
printf(“\n lets String passed to function – %s”, str1);
}
int main() {
char text[] = “Welcome to c”;
displayString(text); // Passing the ‘text’ string to the displayString function declaration
return 0;
}
इस उदाहरण में, text string को displayString() फ़ंक्शन में कैरेक्टर्स की एक array के रूप में पास किया जाता है।