हम जानते हैं कि कार्यों को मूल्य द्वारा बुलाया जा सकता है और संदर्भ द्वारा बुलाया जा सकता है।
- यदि वास्तविक पैरामीटर को कॉल किए गए फ़ंक्शन में नहीं बदलना चाहिए, तो पैरामीटर-बाय मान पास करें।
- यदि कॉल किए गए फ़ंक्शन में वास्तविक पैरामीटर का मान बदलना चाहिए, तो पास-बाय संदर्भ का उपयोग करें।
- यदि फ़ंक्शन को एक से अधिक मान वापस करना है, तो कॉल-बाय-रेफरेंस का उपयोग करके इन मानों को अप्रत्यक्ष रूप से वापस करें।
उदाहरण
कई मानों को वापस करने के प्रदर्शन के लिए सी कार्यक्रम निम्नलिखित है -
#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 पर आकार के बराबर होता है।
- हर पॉइंटर कंप्यूटर में एक मेमोरी लोकेशन का पता रखता है, लेकिन एक वेरिएबल का आकार जिसे पॉइंटर संदर्भित करता है वह भिन्न हो सकता है।