यह एक पूर्णांक के लिए सूचक के लिए एक संदर्भ है। इसका मतलब है कि प्रश्न में कार्य सूचक और साथ ही स्वयं को संशोधित कर सकता है।
तुम बस में एक सूचक पारित कर सकते हैं, एक जटिलता जा रहा है कि सूचक एक एल-मूल्य ही नहीं, एक r-मान होना आवश्यक है, तो उदाहरण के लिए
int myint;
function(&myint);
अकेले
पर्याप्त नहीं है और न तो 0/NULL स्वीकार्य होगा, जहां:
int myint;
int *myintptr = &myint;
function(myintptr);
स्वीकार्य होगा। जब फ़ंक्शन लौटाता है तो यह काफी संभव है कि myintptr
अब यह इंगित नहीं करेगा कि यह प्रारंभ में क्या इंगित कर रहा था।
int *myintptr = NULL;
function(myintptr);
यह भी समझ में आ सकता है कि फ़ंक्शन एक पूर्ण सूचक देने पर स्मृति आवंटित करने की अपेक्षा कर रहा था। यह देखने के लिए कि पॉइंटर का उपयोग करने की अपेक्षा की जाती है, फ़ंक्शन के साथ प्रदान किए गए दस्तावेज़ों को देखें (या स्रोत पढ़ें!)।
कि त्रुटि की वजह से है कि वास्तव में क्या मैं के साथ के बारे में बात कर रहा था "यह एक एल-वैल्यू होना चाहिए, सिर्फ एक आर-वैल्यू नहीं"। प्रश्न में नियम यह है कि "आप अस्थायी संदर्भ में अस्थायी बाध्य नहीं कर सकते", और "पता" ऑपरेटर का नतीजा अस्थायी है। – Flexo