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