C में तर्क पारित करना: संदर्भों को समझना
C में, एक फ़ंक्शन पैरामीटर का व्यवहार उसके प्रकार से निर्धारित होता है। एक महत्वपूर्ण अंतर "मूल्य से गुजरना" और "संदर्भ से गुजरना" के बीच है। प्राथमिक कारण:
तर्क को संशोधित करने के लिए:
संदर्भ फ़ंक्शन को पारित तर्क के मूल्य को संशोधित करने की अनुमति देते हैं। इसका मतलब है कि फ़ंक्शन ऐसे बदलाव कर सकता है जो कॉल करने वाले को दिखाई देंगे।
संदर्भ से गुजरना बनाम पॉइंटर से गुजरना
संदर्भ से गुजरना और पॉइंटर से गुजरना समान है इसमें उन दोनों में तर्क का पता पारित करना शामिल है। हालाँकि, कुछ सूक्ष्म अंतर हैं:
void get5and6(int *f, int *s)
{
*f = 5;
*s = 6;
}
पॉइंटर्स:पॉइंटर्स स्पष्ट रूप से संकेत देते हैं कि फ़ंक्शन तर्क के मान को संशोधित कर सकता है।
void get5and6(int &f, int &s)
{
f = 5;
s = 6;
}
संदर्भ तर्क तक पहुंचने के लिए अधिक प्रत्यक्ष और सुविधाजनक तरीका प्रदान करते हैं, जैसे कि यह एक स्थानीय चर हो। सामान्य तौर पर, पॉइंटर से गुजरना अधिक उपयुक्त होता है जब फ़ंक्शन को संशोधित करने की उम्मीद होती है तर्क का मान, संदर्भ से गुज़रते समय तब प्राथमिकता दी जाती है जब तर्क केवल एक्सेस किया जा रहा हो या जब कॉल करने वाले को पता न हो कि मान संशोधित किया जाएगा या नहीं।
संदर्भ का उपयोग कब करेंअस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3