हम जानते हैं कि फंक्शन्स को मान द्वारा और रेफरेंस द्वारा कॉल किया जा सकता है।
- यदि वास्तविक पैरामीटर को कॉल किए गए फंक्शन में नहीं बदलना चाहिए, तो पैरामीटर को मान द्वारा पास करें।
- यदि वास्तविक पैरामीटर का मान कॉल किए गए फंक्शन में बदलना चाहिए, तो पास-बाय-रेफरेंस का उपयोग करें।
- यदि फंक्शन को एक से अधिक मान वापस करने हैं, तो इन मानों को कॉल-बाय-रेफरेंस का उपयोग करके अप्रत्यक्ष रूप से वापस करें।
उदाहरण
एकाधिक मान वापस करने के प्रदर्शन के लिए C प्रोग्राम:
#include <stdio.h>
void main() {
void areaperi(int, int*, int*);
int r;
float a, p;
printf("वृत्त की त्रिज्या दर्ज करें:\n");
scanf("%d", &r);
areaperi(r, &a, &p);
printf("क्षेत्रफल = %f\n", a);
printf("परिधि = %f", p);
}
void areaperi(int x, int *p, int *q) {
*p = 3.14 * x * x;
*q = 2 * 3.14 * x;
}
आउटपुट
वृत्त की त्रिज्या दर्ज करें: 5 क्षेत्रफल = 78.50000 परिधि = 31.40000
नोट
- पॉइंटर्स से एक टाइप जुड़ा होता है। वे केवल पॉइंटर टाइप नहीं हैं, बल्कि एक विशिष्ट टाइप के पॉइंटर हैं।
- सभी पॉइंटर्स का आकार समान होता है, जो int के आकार के बराबर होता है।
- प्रत्येक पॉइंटर कंप्यूटर में एक मेमोरी लोकेशन का पता रखता है, लेकिन पॉइंटर द्वारा रेफर किए गए वेरिएबल का आकार अलग हो सकता है।